diff options
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r-- | src/cjrize.sml | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/cjrize.sml b/src/cjrize.sml index 546b11fc..3ae68a0a 100644 --- a/src/cjrize.sml +++ b/src/cjrize.sml @@ -46,7 +46,7 @@ structure FM = BinaryMapFn(struct type t = int * int FM.map * (int * (string * L'.typ) list) list -val empty = (0, FM.empty, []) +val empty : t = (1, FM.insert (FM.empty, (L.TRecord [], ErrorMsg.dummySpan), 0), []) fun find ((n, m, ds), xts, xts') = let @@ -158,6 +158,15 @@ fun cifyExp ((e, loc), sm) = ((L'.ELet (xes, e), loc), sm) end + | L.EStrcat _ => raise Fail "Cjrize EStrcat" + + | L.EWrite e => + let + val (e, sm) = cifyExp (e, sm) + in + ((L'.EWrite e, loc), sm) + end + fun cifyDecl ((d, loc), sm) = case d of L.DVal (x, n, t, e) => |