Mercurial > urweb
comparison src/explify.sml @ 1302:d008c4c43a0a
Flex kinds for type-level tuples; ::_ notation
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 10 Oct 2010 13:07:38 -0400 |
parents | b4480a56cab7 |
children | c7b9a33c26c8 |
comparison
equal
deleted
inserted
replaced
1301:4359e185d3af | 1302:d008c4c43a0a |
---|---|
42 | L.KTuple ks => (L'.KTuple (map explifyKind ks), loc) | 42 | L.KTuple ks => (L'.KTuple (map explifyKind ks), loc) |
43 | 43 |
44 | L.KError => raise Fail ("explifyKind: KError at " ^ EM.spanToString loc) | 44 | L.KError => raise Fail ("explifyKind: KError at " ^ EM.spanToString loc) |
45 | L.KUnif (_, _, ref (SOME k)) => explifyKind k | 45 | L.KUnif (_, _, ref (SOME k)) => explifyKind k |
46 | L.KUnif _ => raise Fail ("explifyKind: KUnif at " ^ EM.spanToString loc) | 46 | L.KUnif _ => raise Fail ("explifyKind: KUnif at " ^ EM.spanToString loc) |
47 | L.KTupleUnif (loc, _, ref (SOME k)) => explifyKind k | |
48 | L.KTupleUnif _ => raise Fail ("explifyKind: KTupleUnif at " ^ EM.spanToString loc) | |
47 | 49 |
48 | L.KRel n => (L'.KRel n, loc) | 50 | L.KRel n => (L'.KRel n, loc) |
49 | L.KFun (x, k) => (L'.KFun (x, explifyKind k), loc) | 51 | L.KFun (x, k) => (L'.KFun (x, explifyKind k), loc) |
50 | 52 |
51 fun explifyCon (c, loc) = | 53 fun explifyCon (c, loc) = |