diff options
Diffstat (limited to 'src/HSVIS/Parser.hs')
-rw-r--r-- | src/HSVIS/Parser.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/HSVIS/Parser.hs b/src/HSVIS/Parser.hs index 0d35184..2110ca1 100644 --- a/src/HSVIS/Parser.hs +++ b/src/HSVIS/Parser.hs @@ -20,8 +20,8 @@ module HSVIS.Parser ( StageParsed, parse, -- * Staged AST synonyms - PProgram, PDataDef, PFunDef, PFunEq, PType, PPattern, PRHS, PExpr, - E(NoTypeSig), + PProgram, PDataDef, PFunDef, PTypeSig, PFunEq, PKind, PType, PPattern, PRHS, PExpr, + E(NoTypeSig, TForallP), ) where -- import Control.Applicative @@ -54,20 +54,22 @@ type instance X DataField StageParsed = () type instance X FunDef StageParsed = Range type instance X TypeSig StageParsed = () type instance X FunEq StageParsed = Range +type instance X Kind StageParsed = () type instance X Type StageParsed = Range type instance X Pattern StageParsed = Range type instance X RHS StageParsed = Range type instance X Expr StageParsed = Range data instance E TypeSig StageParsed = NoTypeSig deriving (Show) -data instance E Type StageParsed deriving (Show) +data instance E Type StageParsed = TForallP Name (Maybe PKind) PType deriving (Show) data instance E Kind StageParsed deriving (Show) type PProgram = Program StageParsed type PDataDef = DataDef StageParsed type PFunDef = FunDef StageParsed --- type PTypeSig = TypeSig StageParsed +type PTypeSig = TypeSig StageParsed type PFunEq = FunEq StageParsed +type PKind = Kind StageParsed type PType = Type StageParsed type PPattern = Pattern StageParsed type PRHS = RHS StageParsed |