Mercurial > urweb
comparison src/explify.sml @ 345:b85e6ba56618
Merge CDisjoint and TDisjoint
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 04 Oct 2008 15:50:28 -0400 |
parents | 075b36dbb1a4 |
children | dfc8c991abd0 |
comparison
equal
deleted
inserted
replaced
344:3c0feecd057d | 345:b85e6ba56618 |
---|---|
47 | 47 |
48 fun explifyCon (c, loc) = | 48 fun explifyCon (c, loc) = |
49 case c of | 49 case c of |
50 L.TFun (t1, t2) => (L'.TFun (explifyCon t1, explifyCon t2), loc) | 50 L.TFun (t1, t2) => (L'.TFun (explifyCon t1, explifyCon t2), loc) |
51 | L.TCFun (_, x, k, t) => (L'.TCFun (x, explifyKind k, explifyCon t), loc) | 51 | L.TCFun (_, x, k, t) => (L'.TCFun (x, explifyKind k, explifyCon t), loc) |
52 | L.TDisjoint (_, _, _, c) => explifyCon c | 52 | L.CDisjoint (_, _, _, c) => explifyCon c |
53 | L.TRecord c => (L'.TRecord (explifyCon c), loc) | 53 | L.TRecord c => (L'.TRecord (explifyCon c), loc) |
54 | 54 |
55 | L.CRel n => (L'.CRel n, loc) | 55 | L.CRel n => (L'.CRel n, loc) |
56 | L.CNamed n => (L'.CNamed n, loc) | 56 | L.CNamed n => (L'.CNamed n, loc) |
57 | L.CModProj (m, ms, x) => (L'.CModProj (m, ms, x), loc) | 57 | L.CModProj (m, ms, x) => (L'.CModProj (m, ms, x), loc) |
58 | 58 |
59 | L.CApp (c1, c2) => (L'.CApp (explifyCon c1, explifyCon c2), loc) | 59 | L.CApp (c1, c2) => (L'.CApp (explifyCon c1, explifyCon c2), loc) |
60 | L.CAbs (x, k, c) => (L'.CAbs (x, explifyKind k, explifyCon c), loc) | 60 | L.CAbs (x, k, c) => (L'.CAbs (x, explifyKind k, explifyCon c), loc) |
61 | L.CDisjoint (_, _, c) => explifyCon c | |
62 | 61 |
63 | L.CName s => (L'.CName s, loc) | 62 | L.CName s => (L'.CName s, loc) |
64 | 63 |
65 | L.CRecord (k, xcs) => (L'.CRecord (explifyKind k, map (fn (c1, c2) => (explifyCon c1, explifyCon c2)) xcs), loc) | 64 | L.CRecord (k, xcs) => (L'.CRecord (explifyKind k, map (fn (c1, c2) => (explifyCon c1, explifyCon c2)) xcs), loc) |
66 | L.CConcat (c1, c2) => (L'.CConcat (explifyCon c1, explifyCon c2), loc) | 65 | L.CConcat (c1, c2) => (L'.CConcat (explifyCon c1, explifyCon c2), loc) |