1
datatype
2
'a aexp = IF ('a bexp) ('a aexp) ('a aexp)
3
| Sum ('a aexp) ('a aexp)
4
| Diff ('a aexp) ('a aexp)
5
| Var 'a
6
| Num nat
7
and 'a bexp = Less ('a aexp) ('a aexp)
8
| And ('a bexp) ('a bexp)
9
| Neg ('a bexp)