Mercurial > urweb
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 |