X-Git-Url: http://git.tomasm.cz/fp.git/blobdiff_plain/f9d54d61f2feba3f37c9e7c5f4ab87bf7b3e6166..afc027ed2ff6fdf1aba286c4b6501ee240e36183:/src/HM/Term.hs diff --git a/src/HM/Term.hs b/src/HM/Term.hs index 0a686f9..cf4cf36 100644 --- a/src/HM/Term.hs +++ b/src/HM/Term.hs @@ -23,8 +23,8 @@ type VarName = String type TypeVarName = String type TypeName = String -data Type = Primitive TypeName | TypeVar TypeVarName | TypeFunction Type Type -data TypeScheme = TScheme Type | TSForAll TypeVarName TypeScheme +data Type = Primitive TypeName | TypeVar TypeVarName | TypeFunction Type Type deriving (Eq) +data TypeScheme = TScheme Type | TSForAll TypeVarName TypeScheme deriving (Eq) data Term = Var VarName | Lam VarName TypedTerm | App TypedTerm TypedTerm | Let VarName TypedTerm TypedTerm data TypedTerm = NTTerm Term | TTerm Term TypeScheme