[svn] r6068: nemerle/trunk/ncc:
testsuite/positive/extensible-matching.n typing/Typer-PatternTyper.n
malekith
svnadmin at nemerle.org
Fri Jan 20 22:43:30 CET 2006
Log:
Allow symbolic extension patterns. Disable debug output.
Author: malekith
Date: Fri Jan 20 22:43:28 2006
New Revision: 6068
Modified:
nemerle/trunk/ncc/testsuite/positive/extensible-matching.n
nemerle/trunk/ncc/typing/Typer-PatternTyper.n
Modified: nemerle/trunk/ncc/testsuite/positive/extensible-matching.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/extensible-matching.n (original)
+++ nemerle/trunk/ncc/testsuite/positive/extensible-matching.n Fri Jan 20 22:43:28 2006
@@ -2,6 +2,7 @@
using Nemerle.Utility
[ExtensionPattern ( Node (t1, el, t2) = SNode (t1, el, t2, _) )] \
+[ExtensionPattern ( t1 ::: t2 = SNode (t1, _, t2, _) )] \
public variant Tree
| SNode
l : Tree
@@ -46,6 +47,9 @@
System.Console.WriteLine (e)
| Nil => assert (false)
+match (t)
+ | _ ::: _ => {}
+ | Nil => {}
/*
BEGIN-OUTPUT
Modified: nemerle/trunk/ncc/typing/Typer-PatternTyper.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer-PatternTyper.n (original)
+++ nemerle/trunk/ncc/typing/Typer-PatternTyper.n Fri Jan 20 22:43:28 2006
@@ -143,7 +143,7 @@
}
def res = Macros.TraverseExpr (None (), Pattern, true, rename);
- Message.Debug ($ "expand: $Pattern -> $res");
+ // Message.Debug ($ "expand: $Pattern -> $res");
res
}
}
@@ -387,7 +387,7 @@
is_where : bool) : Pattern
{
match (Util.QidOfExpr (name)) {
- | Some (([id], name)) when !is_where && !System.Char.IsUpper (id [0]) =>
+ | Some (([id], name)) when !is_where && (System.Char.IsLower (id [0]) || id [0] == '_') =>
match (pattern) {
| PT.PExpr.Wildcard =>
TypePattern (matched_value_type,
More information about the svn
mailing list