develooper Front page | perl.perl6.language | Postings from April 2006

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

From:
autrijus
Date:
April 25, 2006 08:49
Subject:
[svn:perl6-synopsis] r8941 - doc/trunk/design/syn
Message ID:
20060425154901.3B472CBA47@x12.develooper.com
Author: autrijus
Date: Tue Apr 25 08:48:59 2006
New Revision: 8941

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

Log:
* S03: Cleanups.
* There's no "$s xxx" postfix form anymore -- write "$s xx *".
* "@a === @a" is sufficient to illustrate the reference-identity point,
  not "\@a === \@a".  (Although the latter is also true.)
* Change the two occurrence of L<Synopsis X> to S0X to agree with the
  rest of the text and other specs.  Also capitalize "Synopses".
* Spell out the ASCII equivalent of infix "zip" as "Y".
* Update code examples to reflect long dot.

Modified: doc/trunk/design/syn/S03.pod
==============================================================================
--- doc/trunk/design/syn/S03.pod	(original)
+++ doc/trunk/design/syn/S03.pod	Tue Apr 25 08:48:59 2006
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <larry@wall.org>
   Date: 8 Mar 2004
-  Last Modified: 22 Apr 2006
+  Last Modified: 25 Apr 2006
   Number: 3
-  Version: 21
+  Version: 22
 
 =head1 Changes to existing operators
 
@@ -51,8 +51,7 @@
 
 =item * C<x> splits into two operators: C<x> (which concatenates repetitions 
 of a string to produce a single string), and C<xx> (which creates a list of 
-repetitions of a list or scalar).  Conjecture: the C<xxx> "infix" operator
-takes no right argument and is equivalent to C<xx Inf>.
+repetitions of a list or scalar).
 
 =item * Trinary C<? :> becomes C<?? !!>.  It is a syntax error to use an
 operator in the middle that binds looser in precedence, such as C<=>.
@@ -118,7 +117,7 @@
 tests whether they are the same value (eg. C<1 === 1>); for two reference
 types, checks whether they have the same identity value.  For reference
 types that do not define an identity, the reference itself is used (eg. it
-is not true that C<[1,2] === [1,2]>, but it is true that C<\@a === \@a>).
+is not true that C<[1,2] === [1,2]>, but it is true that C<@a === @a>).
 
 Any reference type may pretend to be a value type by defining a C<.id> method
 which returns a built-in value, i.e. an immutable object or a native value,
@@ -148,7 +147,7 @@
 
 =item * C<=~> becomes the "smart match" operator C<~~>, with a whole new set
 of semantics.  Anywhere you used C<=~> before you now use C<~~>, but C<~~> is
-much more general now.  See L<Synopsis 4> for details.  (To catch "brainos",
+much more general now.  See S04 for details.  (To catch "brainos",
 the Perl 6 parser defines an C<< infix:<=~> >> macro which always fails at
 compile time with a message directing the user either to use C<~~> or C<~=> instead,
 or to put a space between if they really wanted to assign a stringified value.)
@@ -578,7 +577,7 @@
     rule foo
     token foo
 
-These all have their uses and are explained in subsequent synopses.
+These all have their uses and are explained in subsequent Synopses.
 
 =head1 Argument List Interpolating
 
@@ -658,8 +657,8 @@
     my ($a,$b,$c) = "foo" xx *;		# an arbitrary long list of "foo"
     if /foo/ ff * {...}			# a latching flipflop
     @slice = @x[*;0;*];			# any Int
-    %slice = %x{*;'foo'};		# any keys in domain of 1st dimension
-    %array[*]				# *not* a zen slice
+    @slice = %x{*;'foo'};		# any keys in domain of 1st dimension
+    @array[*]				# flattens, unlike @array[]
 
 C<Whatever> is an undefined prototype object derived from C<Any>.  As a
 type it is abstract, and may not be instantiated as a defined object.
@@ -703,7 +702,7 @@
              <== grep { /^ \d+ $/ }
              <== @data;
 
-Either form more clearly indicates the flow of data.  See L<Synopsis 6> for 
+Either form more clearly indicates the flow of data.  See S06 for 
 more of the (less-than-obvious) details on these two operators.
 
 =head1 Invocant marker
@@ -729,7 +728,8 @@
         print "Name: $name;   Zip code: $zip\n";
     }
 
-C<zip> has an infix synonym, the Unicode operator C<¥>.
+C<zip> has an infix synonym, the Unicode operator C<¥>, and its the ASCII
+equivalent C<Y>.
 
 To read arrays in parallel like C<zip> but just sequence the values
 rather than generating tuples, use C<each> instead of C<zip>.
@@ -766,12 +766,12 @@
     }
     while 0 < $i { $i++ }
 
-It is, however, still possible to align accessors by explicitly using the C<.>
-operator:
+It is, however, still possible to align accessors by explicitly using the
+I<long dot> syntax:
 
      %monsters.{'cookie'} = Monster.new;
-     %people  .{'john'}   = Person .new;
-     %cats    .{'fluffy'} = Cat    .new;
+     %people. .{'john'}   = Person.new;
+     %cats.   .{'fluffy'} = Cat.new;
 
 =head1 Precedence
 



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About