<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Friends</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I have forgotten the workflow for adding a patch to nofib.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">The patch is below.  (Trivial).  Could someone apply it (and update GHC head to use it).  Or tell me how to do it.  Or both!</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Thanks</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Simon</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">This patch makes 'veritas' stop using 'forall' as a function name.</div><div class="gmail_default" style="font-family:tahoma,sans-serif">Reason: 'forall' is now a keyword<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">diff --git a/real/veritas/Kernel.hs b/real/veritas/Kernel.hs<br>index b1c69ef..2c491a7 100644<br>--- a/real/veritas/Kernel.hs<br>+++ b/real/veritas/Kernel.hs<br>@@ -384,7 +384,7 @@ constructor (SG sg) i j k<br> {- Datatype elimination -}<br> <br> recurse tmL (TM (tm@(Binder Pi (Symbol_dec tm1 _) _ _ _)) _ sg)<br>-        = if forall ok (zip tmL tyL)<br>+ = if vforall ok (zip tmL tyL)<br>               then<br>                  TM (Recurse (map fst tmL) tm [] []) tm sg<br>               else<br>@@ -570,7 +570,7 @@ def (TM tm1 tm2 sg)<br> <br> <br> make_data tmLL (TH tm sg)<br>- = if forall (forall (wf_param sg1)) tmLL<br>+     = if vforall (vforall (wf_param sg1)) tmLL<br>           then<br>                    if exists (eq_trm tm) non_empty_thms<br>                   then<br>diff --git a/real/veritas/Main.hs b/real/veritas/Main.hs<br>index c0ed8e3..5191a67 100644<br>--- a/real/veritas/Main.hs<br>+++ b/real/veritas/Main.hs<br>@@ -107,7 +107,7 @@ goto_next tr@(TreeSt t _ _)<br> <br> incomplete_tree (Tree _ tl (SOME _) _ _ ) = False<br> <br>-incomplete_tree (Tree _ tl NONE _ _ ) = forall is_complete tl<br>+incomplete_tree (Tree _ tl NONE _ _ ) = vforall is_complete tl<br> <br> <br> <br>diff --git a/real/veritas/Sub_Core3.hs b/real/veritas/Sub_Core3.hs<br>index f6fd733..12c2987 100644<br>--- a/real/veritas/Sub_Core3.hs<br>+++ b/real/veritas/Sub_Core3.hs<br>@@ -248,7 +248,7 @@ eval (Constant F _ _) = False<br> --eval (Constant _ _ _) = error "EvalError" -- ** exn<br>         <br> eval (Binder Forall dc tm _ _)<br>-   = eval_quant forall dc tm<br>+    = eval_quant vforall dc tm<br> <br> eval (Binder Exists dc tm _ _)<br>     = eval_quant exists dc tm<br>diff --git a/real/veritas/Vtslib.hs b/real/veritas/Vtslib.hs<br>index 9a6c0fe..9ae06ab 100644<br>--- a/real/veritas/Vtslib.hs<br>+++ b/real/veritas/Vtslib.hs<br>@@ -1,4 +1,4 @@<br>-module Vtslib( Option(..) , Sum(..) , forall , exists , assoc ,<br>+module Vtslib( Option(..) , Sum(..) , vforall , exists , assoc ,<br>             haskey , uncurry , curry , for , map' , module Core_datatype )<br>         where<br>       <br>@@ -14,9 +14,9 @@ data Sum a b = Inl a | Inr b<br>     N.B. forall & exists rewritten from ML<br> -}<br> <br>-forall :: ( a -> Bool ) -> [a] -> Bool<br>+vforall :: ( a -> Bool ) -> [a] -> Bool<br> <br>-forall p = and . ( map p )<br>+vforall p = and . ( map p )<br> <br> <br> <br></div></div>