summaryrefslogtreecommitdiff
path: root/src/monoize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-12-19 10:27:58 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-12-19 10:27:58 -0500
commit3aac0d79c1ad2da6358cf6619c62a56ddd2ed195 (patch)
tree2ae9890ec2aaa8c2404ce09448a078fec7857bbb /src/monoize.sml
parent55c83dd7bd3e7cefe40b70f3480dda746dc3384f (diff)
Monad type class seems to be working
Diffstat (limited to 'src/monoize.sml')
-rw-r--r--src/monoize.sml6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/monoize.sml b/src/monoize.sml
index 1880c57d..1c4aa81b 100644
--- a/src/monoize.sml
+++ b/src/monoize.sml
@@ -934,7 +934,8 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
fm)
end
- | L.ECApp ((L.EFfi ("Basis", "return"), _), t) =>
+ | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _),
+ (L.EFfi ("Basis", "transaction_monad"), _)) =>
let
val t = monoType env t
in
@@ -943,7 +944,8 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
(L'.EAbs ("_", (L'.TRecord [], loc), t,
(L'.ERel 1, loc)), loc)), loc), fm)
end
- | L.ECApp ((L.ECApp ((L.EFfi ("Basis", "bind"), _), t1), _), t2) =>
+ | L.EApp ((L.ECApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "bind"), _), _), _), t1), _), t2), _),
+ (L.EFfi ("Basis", "transaction_monad"), _)) =>
let
val t1 = monoType env t1
val t2 = monoType env t2