diff src/monoize.sml @ 564:803b2f3bb86b

Monad type class seems to be working
author Adam Chlipala <adamc@hcoop.net>
date Fri, 19 Dec 2008 10:27:58 -0500
parents 5d494183ca89
children 74800be65591
line wrap: on
line diff
--- a/src/monoize.sml	Fri Dec 19 10:03:31 2008 -0500
+++ b/src/monoize.sml	Fri Dec 19 10:27:58 2008 -0500
@@ -934,7 +934,8 @@
                  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 @@
                            (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