diff options
author | 2008-12-19 10:27:58 -0500 | |
---|---|---|
committer | 2008-12-19 10:27:58 -0500 | |
commit | 3aac0d79c1ad2da6358cf6619c62a56ddd2ed195 (patch) | |
tree | 2ae9890ec2aaa8c2404ce09448a078fec7857bbb /src/monoize.sml | |
parent | 55c83dd7bd3e7cefe40b70f3480dda746dc3384f (diff) |
Monad type class seems to be working
Diffstat (limited to 'src/monoize.sml')
-rw-r--r-- | src/monoize.sml | 6 |
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 |