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