a24b2dfb92c8c6dd17a4e5eecf13f170ed696d67
[fp.git] / ast.dcl
1 definition module ast
2
3 :: AST = AST [Function]
4
5 :: Function = Function String [String] Expression
6
7 :: Expression
8 = Literal Value
9 | Variable String
10 | Apply Expression Expression
11 | Lambda String Expression
12 | Code String
13 | ..
14
15 :: Value
16 = Int Int
17 | Bool Bool
18 | Char Char
19
20 instance toString AST
21 instance toString Function
22 instance toString Expression
23 instance toString Value