comparison src/elab_env.sml @ 1454:96353138f016

Fix bug in projection of constructors from modules in class rules.
author Karn Kallio <kkallio@eka>
date Sun, 01 May 2011 00:26:08 -0430
parents 03642b83b57b
children 287604b4a08d
comparison
equal deleted inserted replaced
1453:03642b83b57b 1454:96353138f016
1041 1041
1042 fun sgnS_con' (m1, ms', (sgns, strs, cons)) = 1042 fun sgnS_con' (m1, ms', (sgns, strs, cons)) =
1043 U.Con.map {kind = fn x => x, 1043 U.Con.map {kind = fn x => x,
1044 con = fn c => 1044 con = fn c =>
1045 case c of 1045 case c of
1046 CModProj (m1, ms, x) => 1046 CModProj (m1', ms, x) =>
1047 (case IM.find (strs, m1) of 1047 (case IM.find (strs, m1') of
1048 NONE => c 1048 NONE => c
1049 | SOME m1x => CModProj (m1, ms' @ m1x :: ms, x)) 1049 | SOME m1x => CModProj (m1, ms' @ m1x :: ms, x))
1050 | CNamed n => 1050 | CNamed n =>
1051 (case IM.find (cons, n) of 1051 (case IM.find (cons, n) of
1052 NONE => c 1052 NONE => c