Mercurial > urweb
comparison src/corify.sml @ 1314:6c2e565adca6
Fixes for nasty bugs in Reduce and Especialize
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 19 Oct 2010 17:54:49 -0400 |
parents | b4480a56cab7 |
children | b106ca8200b1 |
comparison
equal
deleted
inserted
replaced
1313:0bf73c3e4563 | 1314:6c2e565adca6 |
---|---|
269 | 269 |
270 fun lookupValByName ({current, ...} : t) x = | 270 fun lookupValByName ({current, ...} : t) x = |
271 case current of | 271 case current of |
272 FFfi {mod = m, vals, ...} => | 272 FFfi {mod = m, vals, ...} => |
273 (case SM.find (vals, x) of | 273 (case SM.find (vals, x) of |
274 NONE => raise Fail "Corify.St.lookupValByName: no type for FFI val" | 274 NONE => raise Fail ("Corify.St.lookupValByName: no type for FFI val " ^ x) |
275 | SOME t => EFfi (m, t)) | 275 | SOME t => EFfi (m, t)) |
276 | FNormal {vals, ...} => | 276 | FNormal {name, vals, ...} => |
277 case SM.find (vals, x) of | 277 case SM.find (vals, x) of |
278 NONE => raise Fail "Corify.St.lookupValByName" | 278 NONE => raise Fail ("Corify.St.lookupValByName " ^ String.concatWith "." name ^ "." ^ x) |
279 | SOME n => ENormal n | 279 | SOME n => ENormal n |
280 | 280 |
281 fun bindConstructor {basis, cons, constructors, vals, strs, funs, current, nested} s n n' = | 281 fun bindConstructor {basis, cons, constructors, vals, strs, funs, current, nested} s n n' = |
282 let | 282 let |
283 val current = | 283 val current = |