module HOF_sugar:sig
..end
typeid =
string
typefield =
string
type
exp =
| |
Int of |
|||
| |
Add of |
|||
| |
Sub of |
|||
| |
Mul of |
|||
| |
Let of |
|||
| |
Id of |
|||
| |
If0 of |
|||
| |
Lambda of |
(* | Assume that all identifiers are distinct. | *) |
| |
Apply of |
|||
| |
Record of |
(* | Assume that all field names are distinct. | *) |
| |
SetField of |
|||
| |
GetField of |
|||
| |
True |
|||
| |
False |
|||
| |
If of |
(* | Assume that the conditional evaluates to a boolean. | *) |
| |
And of |
(* | Assume that the sub-expressions evalute to booleans. | *) |
| |
Or of |
(* | Assume that the sub-expressions evalute to booleans. | *) |
| |
IntEq of |
(* | Assume that the sub-expressions evaluate to integers. | *) |
| |
Empty |
|||
| |
Cons of |
|||
| |
Head of |
(* | Assume that the sub-expression is either Cons or Empty . | *) |
| |
Tail of |
(* | Assume that the sub-expression is either Cons or Empty . | *) |
| |
IsEmpty of |
(* | Assume that the sub-expression is either Cons or Empty . | *) |