HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improved Easy_domain, with boolean env vars
[hcoop/domtool2.git]
/
src
/
tycheck.sml
diff --git
a/src/tycheck.sml
b/src/tycheck.sml
index
f68100f
..
d5b3f1e
100644
(file)
--- a/
src/tycheck.sml
+++ b/
src/tycheck.sml
@@
-574,8
+574,6
@@
fun checkExp G (eAll as (e, loc)) =
| EIf (e1, e2, e3) =>
let
| EIf (e1, e2, e3) =>
let
- val t = (newUnif (), loc)
-
val t1 = checkExp G e1
val t2 = checkExp G e2
val t3 = checkExp G e3
val t1 = checkExp G e1
val t2 = checkExp G e2
val t3 = checkExp G e3
@@
-583,20
+581,21
@@
fun checkExp G (eAll as (e, loc)) =
in
(subTyp (t1, bool))
handle Unify ue =>
in
(subTyp (t1, bool))
handle Unify ue =>
- dte (WrongType ("\"
I
f\" test",
+ dte (WrongType ("\"
i
f\" test",
e1,
t1,
bool,
SOME ue));
e1,
t1,
bool,
SOME ue));
- subTyp (t2, t);
- (subTyp (t3, t))
- handle Unify ue =>
- dte (WrongType ("\"Else\" case",
- eAll,
- t3,
- t2,
- SOME ue));
- t
+ (subTyp (t2, t3); t3)
+ handle Unify _ =>
+ ((subTyp (t3, t2); t2)
+ handle Unify ue =>
+ (dte (WrongType ("\"else\" case",
+ eAll,
+ t3,
+ t2,
+ SOME ue));
+ (TError, loc)))
end
end
end
end