Mercurial > urweb
comparison src/mono_env.sml @ 196:890a61991263
Lists all the way through
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 09 Aug 2008 16:48:32 -0400 |
parents | 8e9f97508f0d |
children | ab86aa858e6c |
comparison
equal
deleted
inserted
replaced
195:85b5f663bb86 | 196:890a61991263 |
---|---|
96 fun declBinds env (d, loc) = | 96 fun declBinds env (d, loc) = |
97 case d of | 97 case d of |
98 DDatatype (x, n, xncs) => | 98 DDatatype (x, n, xncs) => |
99 let | 99 let |
100 val env = pushDatatype env x n xncs | 100 val env = pushDatatype env x n xncs |
101 val dt = (TDatatype (MonoUtil.classifyDatatype xncs, n, xncs), loc) | 101 val dt = (TDatatype (n, ref (MonoUtil.classifyDatatype xncs, xncs)), loc) |
102 in | 102 in |
103 foldl (fn ((x', n', NONE), env) => pushENamed env x' n' dt NONE "" | 103 foldl (fn ((x', n', NONE), env) => pushENamed env x' n' dt NONE "" |
104 | ((x', n', SOME t), env) => pushENamed env x' n' (TFun (t, dt), loc) NONE "") | 104 | ((x', n', SOME t), env) => pushENamed env x' n' (TFun (t, dt), loc) NONE "") |
105 env xncs | 105 env xncs |
106 end | 106 end |