comparison src/elab_env.sml @ 1058:86b831978b8d

Recursive hnormSgn for projections of signatures from modules
author Adam Chlipala <adamc@hcoop.net>
date Sat, 05 Dec 2009 14:34:44 -0500
parents 6d9538ce94d8
children b2311dfb3158
comparison
equal deleted inserted replaced
1057:eaba663fd6aa 1058:86b831978b8d
1086 in 1086 in
1087 case projectSgn env {str = foldl (fn (m, str) => (StrProj (str, m), loc)) (StrVar m, loc) ms, 1087 case projectSgn env {str = foldl (fn (m, str) => (StrProj (str, m), loc)) (StrVar m, loc) ms,
1088 sgn = sgn, 1088 sgn = sgn,
1089 field = x} of 1089 field = x} of
1090 NONE => raise Fail "ElabEnv.hnormSgn: projectSgn failed" 1090 NONE => raise Fail "ElabEnv.hnormSgn: projectSgn failed"
1091 | SOME sgn => sgn 1091 | SOME sgn => hnormSgn env sgn
1092 end 1092 end
1093 | SgnWhere (sgn, x, c) => 1093 | SgnWhere (sgn, x, c) =>
1094 case #1 (hnormSgn env sgn) of 1094 case #1 (hnormSgn env sgn) of
1095 SgnError => (SgnError, loc) 1095 SgnError => (SgnError, loc)
1096 | SgnConst sgis => 1096 | SgnConst sgis =>