comparison src/elab_util.sml @ 67:9f89f0b00b84

Elaborating cfold
author Adam Chlipala <adamc@hcoop.net>
date Thu, 26 Jun 2008 09:48:54 -0400
parents abb2b32c19fb
children 6431b315a1e3
comparison
equal deleted inserted replaced
66:1ec5703c09c4 67:9f89f0b00b84
141 S.bind2 (mfc ctx c1, 141 S.bind2 (mfc ctx c1,
142 fn c1' => 142 fn c1' =>
143 S.map2 (mfc ctx c2, 143 S.map2 (mfc ctx c2,
144 fn c2' => 144 fn c2' =>
145 (CConcat (c1', c2'), loc))) 145 (CConcat (c1', c2'), loc)))
146 | CFold (k1, k2) =>
147 S.bind2 (mfk k1,
148 fn k1' =>
149 S.map2 (mfk k2,
150 fn k2' =>
151 (CFold (k1', k2'), loc)))
146 152
147 | CError => S.return2 cAll 153 | CError => S.return2 cAll
148 | CUnif (_, _, ref (SOME c)) => mfc' ctx c 154 | CUnif (_, _, ref (SOME c)) => mfc' ctx c
149 | CUnif _ => S.return2 cAll 155 | CUnif _ => S.return2 cAll
150 in 156 in