diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-12-19 10:27:58 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-12-19 10:27:58 -0500 |
commit | a2854d6b8db55b9c6e69d16262ea182ab9bd307d (patch) | |
tree | 2ae9890ec2aaa8c2404ce09448a078fec7857bbb /src/monoize.sml | |
parent | ba83ee9a9b3d2539b820c9fcb1cb7cd42226da6c (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 |