X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=src%2FHaskKinds.v;h=b61ed0752aac28ba04e694ac19bbd889d8d90c8f;hp=035778000e3a6cf8e1ccae04a596ef250c451a65;hb=97552c1a6dfb32098d4491951929ab1d4aca96a0;hpb=92e148ed7a7b0068cf2029537b019a88a7b07d43 diff --git a/src/HaskKinds.v b/src/HaskKinds.v index 0357780..b61ed07 100644 --- a/src/HaskKinds.v +++ b/src/HaskKinds.v @@ -38,17 +38,17 @@ Instance KindToString : ToString Kind := { toString := kindToString }. Notation "'★'" := KindStar. Notation "a ⇛ b" := (KindArrow a b). -Fixpoint kindToLatex (k:Kind) : Latex := +Fixpoint kindToLatexMath (k:Kind) : LatexMath := match k with - | ★ => latex "\star" - | ★ ⇛ k2 => (latex "\star\Rightarrow ")+=+kindToLatex k2 - | k1 ⇛ k2 => (latex "(")+=+kindToLatex k1+=+(latex ")\Rightarrow ")+=+kindToLatex k2 - | KindUnliftedType => latex "\text{\tt{\#}}" - | KindUnboxedTuple => latex "\text{\tt{(\#)}}" - | KindArgType => latex "\text{\tt{??}}" - | KindOpenType => latex "\text{\tt{?}}" + | ★ => rawLatexMath "\star" + | ★ ⇛ k2 => (rawLatexMath "\star\Rightarrow ")+++kindToLatexMath k2 + | k1 ⇛ k2 => (rawLatexMath "(")+++kindToLatexMath k1+++(rawLatexMath ")\Rightarrow ")+++kindToLatexMath k2 + | KindUnliftedType => rawLatexMath "\text{\tt{\#}}" + | KindUnboxedTuple => rawLatexMath "\text{\tt{(\#)}}" + | KindArgType => rawLatexMath "\text{\tt{??}}" + | KindOpenType => rawLatexMath "\text{\tt{?}}" end. -Instance KindToLatex : ToLatex Kind := { toLatex := kindToLatex }. +Instance KindToLatexMath : ToLatexMath Kind := { toLatexMath := kindToLatexMath }. Instance KindEqDecidable : EqDecidable Kind. apply Build_EqDecidable.