Mercurial > urweb
comparison src/cjr_env.sml @ 280:fdd7a698be01
Compiling a parametrized query the inefficient way
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 02 Sep 2008 17:31:45 -0400 |
parents | 09c66a30ef32 |
children | 0236d9412ad2 |
comparison
equal
deleted
inserted
replaced
279:8bb46d87b074 | 280:fdd7a698be01 |
---|---|
46 namedE : (string * typ) IM.map, | 46 namedE : (string * typ) IM.map, |
47 | 47 |
48 structs : (string * typ) list IM.map | 48 structs : (string * typ) list IM.map |
49 } | 49 } |
50 | 50 |
51 val empty = { | 51 val empty : env = { |
52 datatypes = IM.empty, | 52 datatypes = IM.empty, |
53 constructors = IM.empty, | 53 constructors = IM.empty, |
54 | 54 |
55 numRelE = 0, | 55 numRelE = 0, |
56 relE = [], | 56 relE = [], |
57 namedE = IM.empty, | 57 namedE = IM.empty, |
58 | 58 |
59 structs = IM.empty | 59 structs = IM.insert (IM.empty, 0, []) |
60 } | 60 } |
61 | 61 |
62 fun pushDatatype (env : env) x n xncs = | 62 fun pushDatatype (env : env) x n xncs = |
63 {datatypes = IM.insert (#datatypes env, n, (x, xncs)), | 63 {datatypes = IM.insert (#datatypes env, n, (x, xncs)), |
64 constructors = foldl (fn ((x, n', to), constructors) => | 64 constructors = foldl (fn ((x, n', to), constructors) => |