comparison src/elab_util.sml @ 628:12b73f3c108e

Switch to TDisjoint from CDisjoint; still need to implement obligation generation at EDisjoint uses
author Adam Chlipala <adamc@hcoop.net>
date Tue, 24 Feb 2009 12:01:24 -0500
parents 588b9d16b00a
children 70cbdcf5989b
comparison
equal deleted inserted replaced
627:f4f2b09a533a 628:12b73f3c108e
134 S.bind2 (mfk ctx k, 134 S.bind2 (mfk ctx k,
135 fn k' => 135 fn k' =>
136 S.map2 (mfc (bind (ctx, RelC (x, k))) c, 136 S.map2 (mfc (bind (ctx, RelC (x, k))) c,
137 fn c' => 137 fn c' =>
138 (TCFun (e, x, k', c'), loc))) 138 (TCFun (e, x, k', c'), loc)))
139 | CDisjoint (ai, c1, c2, c3) => 139 | TDisjoint (c1, c2, c3) =>
140 S.bind2 (mfc ctx c1, 140 S.bind2 (mfc ctx c1,
141 fn c1' => 141 fn c1' =>
142 S.bind2 (mfc ctx c2, 142 S.bind2 (mfc ctx c2,
143 fn c2' => 143 fn c2' =>
144 S.map2 (mfc ctx c3, 144 S.map2 (mfc ctx c3,
145 fn c3' => 145 fn c3' =>
146 (CDisjoint (ai, c1', c2', c3'), loc)))) 146 (TDisjoint (c1', c2', c3'), loc))))
147 | TRecord c => 147 | TRecord c =>
148 S.map2 (mfc ctx c, 148 S.map2 (mfc ctx c,
149 fn c' => 149 fn c' =>
150 (TRecord c', loc)) 150 (TRecord c', loc))
151 151