comparison src/corify.sml @ 1455:913d9c2f55c9

Corify Basis.unit to empty record; this is needed so that specialize can see that they are equivalent.
author Karn Kallio <kkallio@eka>
date Fri, 06 May 2011 16:24:45 -0430
parents b106ca8200b1
children cccf8bf64b30
comparison
equal deleted inserted replaced
1454:96353138f016 1455:913d9c2f55c9
464 val st = St.lookupStrById st m 464 val st = St.lookupStrById st m
465 val st = foldl St.lookupStrByName st ms 465 val st = foldl St.lookupStrByName st ms
466 in 466 in
467 case St.lookupConByName st x of 467 case St.lookupConByName st x of
468 St.CNormal n => (L'.CNamed n, loc) 468 St.CNormal n => (L'.CNamed n, loc)
469 | St.CFfi m => (L'.CFfi (m, x), loc) 469 | St.CFfi m =>
470 if (m, x) = ("Basis", "unit") then
471 (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc)
472 else
473 (L'.CFfi (m, x), loc)
470 end 474 end
471 475
472 | L.CApp (c1, c2) => (L'.CApp (corifyCon st c1, corifyCon st c2), loc) 476 | L.CApp (c1, c2) => (L'.CApp (corifyCon st c1, corifyCon st c2), loc)
473 | L.CAbs (x, k, c) => (L'.CAbs (x, corifyKind k, corifyCon st c), loc) 477 | L.CAbs (x, k, c) => (L'.CAbs (x, corifyKind k, corifyCon st c), loc)
474 478