Commit 92eccaed authored by Kai-Oliver Prott's avatar Kai-Oliver Prott

Add Kinds to FlatCurry

parent 2fe12095
......@@ -81,9 +81,14 @@ data TypeExpr
| FuncType TypeExpr TypeExpr -- function type t1->t2
| TCons QName [TypeExpr] -- type constructor application
-- TCons module name typeargs
| ForallType [TVarIndex] TypeExpr -- forall type
| ForallType [(TVarIndex, Kind)] TypeExpr -- forall type
deriving (Eq, Ord, Read, Show)
data Kind
= KStar
| KArrow Kind Kind
deriving (Eq, Ord, Read, Show)
--- Data type for operator declarations.
--- An operator declaration `fix p n` in Curry corresponds to the
--- FlatCurry term `(Op n fix p)`.
......
......@@ -81,9 +81,14 @@ data TypeExpr
| FuncType TypeExpr TypeExpr -- function type t1->t2
| TCons QName [TypeExpr] -- type constructor application
-- TCons module name typeargs
| ForallType [TVarIndex] TypeExpr -- forall type
| ForallType [(TVarIndex, Kind)] TypeExpr -- forall type
deriving (Eq, Ord, Read, Show)
data Kind
= KStar
| KArrow Kind Kind
deriving (Eq, Ord, Read, Show)
--- Data type for operator declarations.
--- An operator declaration `fix p n` in Curry corresponds to the
--- FlatCurry term `(Op n fix p)`.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment