diff lib/ur/monad.ur @ 1472:18d18a70821e

Implicit argument insertion for local variables
author Adam Chlipala <adam@chlipala.net>
date Tue, 14 Jun 2011 08:54:45 -0400
parents 0bf73c3e4563
children a613cae954ca
line wrap: on
line diff
--- a/lib/ur/monad.ur	Sun Jun 12 17:44:34 2011 -0400
+++ b/lib/ur/monad.ur	Tue Jun 14 08:54:45 2011 -0400
@@ -21,7 +21,7 @@
      (fn [nm :: Name] [t :: K] [rest :: {K}] [[nm] ~ rest] 
                       (acc : _ -> m (tr rest)) r =>
          acc' <- acc (r -- nm);
-         f [nm] [t] [rest] ! r.nm acc')
+         f [nm] [t] [rest] r.nm acc')
      (fn _ => return i)
      fl
 
@@ -34,7 +34,7 @@
      (fn [nm :: Name] [t :: K] [rest :: {K}] [[nm] ~ rest] 
                       (acc : _ -> _ -> m (tr rest)) r1 r2 =>
          acc' <- acc (r1 -- nm) (r2 -- nm);
-         f [nm] [t] [rest] ! r1.nm r2.nm acc')
+         f [nm] [t] [rest] r1.nm r2.nm acc')
      (fn _ _ => return i)
      fl
 
@@ -47,7 +47,7 @@
      (fn [nm :: Name] [t :: K] [rest :: {K}] [[nm] ~ rest] 
                       (acc : _ -> _ -> _ -> m (tr rest)) r1 r2 r3 =>
          acc' <- acc (r1 -- nm) (r2 -- nm) (r3 -- nm);
-         f [nm] [t] [rest] ! r1.nm r2.nm r3.nm acc')
+         f [nm] [t] [rest] r1.nm r2.nm r3.nm acc')
      (fn _ _ _ => return i)
      fl
 
@@ -88,7 +88,7 @@
      (fn [nm :: Name] [t :: K] [rest :: {K}] [[nm] ~ rest] 
                       (acc : _ -> m ($(map tf' rest) * tr rest)) r =>
          p <- acc (r -- nm);
-         p' <- f [nm] [t] [rest] ! r.nm p.2;
+         p' <- f [nm] [t] [rest] r.nm p.2;
          return ({nm = p'.1} ++ p.1, p'.2))
      (fn _ => return ({}, i))
      fl