Mercurial > urweb
comparison src/explify.sml @ 68:c1e21ab42896
Explify cfold
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 26 Jun 2008 09:51:28 -0400 |
parents | 9f89f0b00b84 |
children | 6431b315a1e3 |
comparison
equal
deleted
inserted
replaced
67:9f89f0b00b84 | 68:c1e21ab42896 |
---|---|
57 | 57 |
58 | L.CName s => (L'.CName s, loc) | 58 | L.CName s => (L'.CName s, loc) |
59 | 59 |
60 | L.CRecord (k, xcs) => (L'.CRecord (explifyKind k, map (fn (c1, c2) => (explifyCon c1, explifyCon c2)) xcs), loc) | 60 | L.CRecord (k, xcs) => (L'.CRecord (explifyKind k, map (fn (c1, c2) => (explifyCon c1, explifyCon c2)) xcs), loc) |
61 | L.CConcat (c1, c2) => (L'.CConcat (explifyCon c1, explifyCon c2), loc) | 61 | L.CConcat (c1, c2) => (L'.CConcat (explifyCon c1, explifyCon c2), loc) |
62 | L.CFold _ => raise Fail "Explify CFold" | 62 | L.CFold (dom, ran) => (L'.CFold (explifyKind dom, explifyKind ran), loc) |
63 | 63 |
64 | L.CError => raise Fail ("explifyCon: CError at " ^ EM.spanToString loc) | 64 | L.CError => raise Fail ("explifyCon: CError at " ^ EM.spanToString loc) |
65 | L.CUnif (_, _, ref (SOME c)) => explifyCon c | 65 | L.CUnif (_, _, ref (SOME c)) => explifyCon c |
66 | L.CUnif _ => raise Fail ("explifyCon: CUnif at " ^ EM.spanToString loc) | 66 | L.CUnif _ => raise Fail ("explifyCon: CUnif at " ^ EM.spanToString loc) |
67 | 67 |