Mercurial > urweb
comparison src/cjr.sml @ 109:813e5a52063d
Remove closure conversion in favor of zany fun with modules, which also replaces 'page'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 13 Jul 2008 10:17:06 -0400 |
parents | d101cb1efe55 |
children | ff13d390ec60 |
comparison
equal
deleted
inserted
replaced
108:f59553dc1b6a | 109:813e5a52063d |
---|---|
29 | 29 |
30 type 'a located = 'a ErrorMsg.located | 30 type 'a located = 'a ErrorMsg.located |
31 | 31 |
32 datatype typ' = | 32 datatype typ' = |
33 TTop | 33 TTop |
34 | TFun | 34 | TFun of typ * typ |
35 | TCode of typ * typ | |
36 | TRecord of int | 35 | TRecord of int |
37 | TNamed of int | 36 | TNamed of int |
38 | TFfi of string * string | 37 | TFfi of string * string |
39 | 38 |
40 withtype typ = typ' located | 39 withtype typ = typ' located |
43 EPrim of Prim.t | 42 EPrim of Prim.t |
44 | ERel of int | 43 | ERel of int |
45 | ENamed of int | 44 | ENamed of int |
46 | EFfi of string * string | 45 | EFfi of string * string |
47 | EFfiApp of string * string * exp list | 46 | EFfiApp of string * string * exp list |
48 | ECode of int | |
49 | EApp of exp * exp | 47 | EApp of exp * exp |
50 | 48 |
51 | ERecord of int * (string * exp) list | 49 | ERecord of int * (string * exp) list |
52 | EField of exp * string | 50 | EField of exp * string |
53 | |
54 | ELet of (string * typ * exp) list * exp | |
55 | 51 |
56 | EWrite of exp | 52 | EWrite of exp |
57 | ESeq of exp * exp | 53 | ESeq of exp * exp |
58 | 54 |
59 withtype exp = exp' located | 55 withtype exp = exp' located |
60 | 56 |
61 datatype decl' = | 57 datatype decl' = |
62 DStruct of int * (string * typ) list | 58 DStruct of int * (string * typ) list |
63 | DVal of string * int * typ * exp | 59 | DVal of string * int * typ * exp |
64 | DFun of int * string * typ * typ * exp | 60 | DFun of string * int * string * typ * typ * exp |
65 | 61 |
66 withtype decl = decl' located | 62 withtype decl = decl' located |
67 | 63 |
68 type file = decl list * ((string * typ) list * exp) list | 64 type file = decl list * int list |
69 | 65 |
70 end | 66 end |