[svn] r5957: nemerle/trunk/ncc/misc/PrettyPrint.n

malekith svnadmin at nemerle.org
Mon Nov 21 17:01:18 CET 2005


Log:
Fix pretty printing of Lambda expressions with name given during the typing.

Author: malekith
Date: Mon Nov 21 17:01:17 2005
New Revision: 5957

Modified:
   nemerle/trunk/ncc/misc/PrettyPrint.n

Modified: nemerle/trunk/ncc/misc/PrettyPrint.n
==============================================================================
--- nemerle/trunk/ncc/misc/PrettyPrint.n	(original)
+++ nemerle/trunk/ncc/misc/PrettyPrint.n	Mon Nov 21 17:01:17 2005
@@ -284,12 +284,12 @@
           }, acc);
           add ("]")
 
-        | <[ fun [ ..$tparms] (..$args) : $ty where ..$tconstrs $body ]> =>
-          add ("fun "); print_tparms (tparms);
-          add (" ("); print_funparms (args); add (") ");
-          add (": "); SprintExpr (ctx, ty, indentation, acc); add (" ");
-          print_tconstraints (tconstrs); add (" ");
-          SprintExpr (ctx, body, indentation, acc)
+        | PExpr.Lambda (fd) =>
+          add ("fun "); print_tparms (fd.header.typarms.tyvars);
+          add (" ("); print_funparms (fd.header.parms); add (") ");
+          add (": "); SprintExpr (ctx, fd.header.ret_type, indentation, acc); add (" ");
+          print_tconstraints (fd.header.typarms.constraints); add (" ");
+          SprintExpr (ctx, fd.body, indentation, acc)
 
         | <[ def ..$funs ]> =>
           def print_fun (f : Function_decl) {
@@ -388,7 +388,6 @@
         | PExpr.Typed (e) => SprintTyExpr (ctx, e, None (), false, indentation, acc)
 
         | PExpr.Error => ()
-        | PExpr.Lambda => Util.ice ("Bad construction of PExpr.Lambda")
       }
     }
 



More information about the svn mailing list