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,