Import to github.
[software/yale-haskell.git] / cfn / README
1 Whats what in the cfn.
2
3 Language generated by cfn contains these ast node types:
4 lambda
5 let
6 if
7 case -- restriction: all patterns must be either literals or
8 a constructor with var and wildcard args
9 app
10 var-ref
11 con-ref
12 const
13 con-number
14 sel
15 is-constructor
16
17 Transformations to do:
18 Convert lists to explicit calls to cons
19 Simplify patterns
20 Remove sequences
21 Remove list comprehensions
22 Remove sections
23 Reduce patterns on lhs of decls
24 Reduce patterns in function args
25 Convert where decls to let statements
26 Convert guarded-expressions to if - then - else form
27
28 Done earlier:
29 signdecls are removed in scoping
30 exp-signs are removed in typechecker
31 prec parser removes `negate' & pp-* nodes
32
33
34
35