X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=sidebyside;f=AST.dcl;h=b005f62577c8be8bbd628dc1250fc316779d0505;hb=1f77588b4d69fdb9f8880864240458efd5b51561;hp=ad3196fab4e59124338678e558230f2535551999;hpb=f37f138cce001a8feedc2660bdbbe648c600a643;p=cc1516.git diff --git a/AST.dcl b/AST.dcl index ad3196f..b005f62 100644 --- a/AST.dcl +++ b/AST.dcl @@ -15,6 +15,7 @@ from StdOverloaded import class toString, class ==, class zero, class < | BoolType | CharType | VoidType + | FuncType Type | (->>) infixl 7 Type Type :: Expr = VarExpr Pos VarDef @@ -26,6 +27,7 @@ from StdOverloaded import class toString, class ==, class zero, class < | FunExpr Pos String [Expr] [FieldSelector] | EmptyListExpr Pos | TupleExpr Pos (Expr, Expr) + | LambdaExpr Pos [String] Expr :: VarDef = VarDef String [FieldSelector] :: FieldSelector = FieldHd | FieldTl | FieldFst | FieldSnd :: Op1 = UnNegation | UnMinus @@ -46,6 +48,7 @@ instance toString FieldSelector instance toString Op2 instance toString Expr instance toString VarDecl +instance toString FunDecl instance zero Pos instance == Op1