Mercurial > urweb
comparison src/elaborate.sml @ 1326:d91f84599693
Instantiate any Unit unification variables that remain after elaboration
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 02 Dec 2010 14:11:18 -0500 |
parents | df7bfb30dcc3 |
children | 91eaa1542c5a |
comparison
equal
deleted
inserted
replaced
1325:fdf48f6ba418 | 1326:d91f84599693 |
---|---|
493 L'.KUnif (_, _, ref NONE) => true | 493 L'.KUnif (_, _, ref NONE) => true |
494 | L'.KTupleUnif (_, _, ref NONE) => true | 494 | L'.KTupleUnif (_, _, ref NONE) => true |
495 | _ => false | 495 | _ => false |
496 fun cunifsRemain c = | 496 fun cunifsRemain c = |
497 case c of | 497 case c of |
498 L'.CUnif (_, loc, _, _, ref NONE) => SOME loc | 498 L'.CUnif (_, loc, k, _, r as ref NONE) => |
499 (case #1 (hnormKind k) of | |
500 L'.KUnit => (r := SOME (L'.CUnit, loc); NONE) | |
501 | _ => SOME loc) | |
499 | _ => NONE | 502 | _ => NONE |
500 | 503 |
501 val kunifsInDecl = U.Decl.exists {kind = kunifsRemain, | 504 val kunifsInDecl = U.Decl.exists {kind = kunifsRemain, |
502 con = fn _ => false, | 505 con = fn _ => false, |
503 exp = fn _ => false, | 506 exp = fn _ => false, |