comparison src/elaborate.sml @ 1351:74d35d9a5d16

Implement constrained type kinding properly; bump mono inline threshhold
author Adam Chlipala <adam@chlipala.net>
date Mon, 20 Dec 2010 09:34:10 -0500
parents 8a169fc0838b
children e525ad571e15
comparison
equal deleted inserted replaced
1350:a6d421812b93 1351:74d35d9a5d16
307 val denv' = D.assert env denv (c1', c2') 307 val denv' = D.assert env denv (c1', c2')
308 val (c', k, gs4) = elabCon (env, denv') c 308 val (c', k, gs4) = elabCon (env, denv') c
309 in 309 in
310 checkKind env c1' k1 (L'.KRecord ku1, loc); 310 checkKind env c1' k1 (L'.KRecord ku1, loc);
311 checkKind env c2' k2 (L'.KRecord ku2, loc); 311 checkKind env c2' k2 (L'.KRecord ku2, loc);
312 checkKind env c' k (L'.KType, loc);
312 313
313 ((L'.TDisjoint (c1', c2', c'), loc), k, gs1 @ gs2 @ gs4) 314 ((L'.TDisjoint (c1', c2', c'), loc), k, gs1 @ gs2 @ gs4)
314 end 315 end
315 | L.TRecord c => 316 | L.TRecord c =>
316 let 317 let