comparison src/mono_util.sml @ 387:7abb28e9d51f

Binops; equality tested on int; lame 404 substitute
author Adam Chlipala <adamc@hcoop.net>
date Tue, 21 Oct 2008 09:50:19 -0400
parents e976b187d73a
children bb27c7efcd90
comparison
equal deleted inserted replaced
386:ef43ed6cd1de 387:7abb28e9d51f
172 S.bind2 (mft ran, 172 S.bind2 (mft ran,
173 fn ran' => 173 fn ran' =>
174 S.map2 (mfe (bind (ctx, RelE (x, dom'))) e, 174 S.map2 (mfe (bind (ctx, RelE (x, dom'))) e,
175 fn e' => 175 fn e' =>
176 (EAbs (x, dom', ran', e'), loc)))) 176 (EAbs (x, dom', ran', e'), loc))))
177
178 | EUnop (s, e) =>
179 S.map2 (mfe ctx e,
180 fn e' =>
181 (EUnop (s, e'), loc))
182 | EBinop (s, e1, e2) =>
183 S.bind2 (mfe ctx e1,
184 fn e1' =>
185 S.map2 (mfe ctx e2,
186 fn e2' =>
187 (EBinop (s, e1', e2'), loc)))
177 188
178 | ERecord xes => 189 | ERecord xes =>
179 S.map2 (ListUtil.mapfold (fn (x, e, t) => 190 S.map2 (ListUtil.mapfold (fn (x, e, t) =>
180 S.bind2 (mfe ctx e, 191 S.bind2 (mfe ctx e,
181 fn e' => 192 fn e' =>