comparison src/elab_env.sml @ 1453:03642b83b57b

Fix for projection of type class constructors in signatures.
author Karn Kallio <kkallio@eka>
date Tue, 26 Apr 2011 00:11:21 -0430
parents fdf48f6ba418
children 96353138f016
comparison
equal deleted inserted replaced
1452:aae3e3b6a408 1453:03642b83b57b
1379 SOME (k', SOME (CModProj (m1, ms, x'), #2 sgn)) 1379 SOME (k', SOME (CModProj (m1, ms, x'), #2 sgn))
1380 end 1380 end
1381 else 1381 else
1382 NONE 1382 NONE
1383 | SgiClassAbs (x, _, k) => if x = field then 1383 | SgiClassAbs (x, _, k) => if x = field then
1384 SOME ((KArrow (k, (KType, #2 sgn)), #2 sgn), NONE) 1384 SOME (k, NONE)
1385 else 1385 else
1386 NONE 1386 NONE
1387 | SgiClass (x, _, k, c) => if x = field then 1387 | SgiClass (x, _, k, c) => if x = field then
1388 SOME ((KArrow (k, (KType, #2 sgn)), #2 sgn), SOME c) 1388 SOME (k, SOME c)
1389 else 1389 else
1390 NONE 1390 NONE
1391 | _ => NONE) sgis of 1391 | _ => NONE) sgis of
1392 NONE => NONE 1392 NONE => NONE
1393 | SOME ((k, co), subs) => SOME (k, Option.map (sgnSubCon (str, subs)) co)) 1393 | SOME ((k, co), subs) => SOME (k, Option.map (sgnSubCon (str, subs)) co))