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) =>