Re: [svn:perl6-synopsis] r13567 - doc/trunk/design/syn

2007-02-03 Thread Dr.Ruud
Larry Wall schreef:
 Dr.Ruud wrote:

 I would expect

   %hash.exists{$key}

 Except $foo.bar{$key} is interpreted as $foo.bar().{$key}.  Things
 like exists and delete need to evaluate the key before calling
 the method in question, not after.

OK.

 with the shortcut

   %hash.:{$key}

 to test (at run-time) for existance of the element, and expect

   %hash.:exists

 to test (at compile time if possible) for the validity of 'exists',
 more like

   %hash.can('exists');

   %hash.has('exists');

   %hash.does('exists');

 Why would you expect colon to do that?  I don't see the prior art...

I was reading : as TEST (or indeed STATUS, or even STATE), and read the
part :exists a the STATUS (or validity) of exists(), which would
always be true (or 0) because exists() is in the hash-core.

So %table.:$key or %table.:{$key} would then be short for
%table.exists{key} (assuming exists() to be the default
TEST/STATUS/STATE-method for hash).

-- 
Affijn, Ruud

Gewoon is een tijger.



[svn:perl6-synopsis] r13567 - doc/trunk/design/syn

2007-02-02 Thread larry
Author: larry
Date: Fri Feb  2 09:07:05 2007
New Revision: 13567

Modified:
   doc/trunk/design/syn/S05.pod

Log:
Nick++ noticed where I spaced out.  Just glad someone's reading these things...


Modified: doc/trunk/design/syn/S05.pod
==
--- doc/trunk/design/syn/S05.pod(original)
+++ doc/trunk/design/syn/S05.podFri Feb  2 09:07:05 2007
@@ -728,7 +728,7 @@
 
 If the hash has the property is parsed(...), the pattern provided
 is considered to wrap every match, where the key match is represent
-by CKEY and the value matchis represented by CVALUE.  (CKEY,
+by CKEY and the value match is represented by CVALUE.  (CKEY,
 if present, must come at the beginning.  If omitted, the key must be
 explicitly reparsed by this rule or by the value rule.  If CVALUE
 is omitted, it is assumed to be at the end.)  The intent of this


Re: [svn:perl6-synopsis] r13567 - doc/trunk/design/syn

2007-02-02 Thread Larry Wall
On Fri, Feb 02, 2007 at 08:14:53PM +0100, Dr.Ruud wrote:
: I would expect
: 
:   %hash.exists{$key}
: 

Except $foo.bar{$key} is interpreted as $foo.bar().{$key}.  Things like
exists and delete need to evaluate the key before calling the method
in question, not after.

: with the shortcut
: 
:   %hash.:{$key}
: 
: to test (at run-time) for existance of the element, and expect
: 
:   %hash.:exists
: 
: to test (at compile time if possible) for the validity of 'exists', more
: like
: 
:   %hash.can('exists');
: 
:   %hash.has('exists');
: 
:   %hash.does('exists');

Why would you expect colon to do that?  I don't see the prior art...

Larry