Front page | perl.perl6.language |
Postings from August 2006
[svn:perl6-synopsis] r11135 - doc/trunk/design/syn
From:
audreyt
Date:
August 18, 2006 08:11
Subject:
[svn:perl6-synopsis] r11135 - doc/trunk/design/syn
Message ID:
20060818151143.876C8CB9BB@x12.develooper.com
Author: audreyt
Date: Fri Aug 18 08:11:42 2006
New Revision: 11135
Modified:
doc/trunk/design/syn/S06.pod
doc/trunk/design/syn/S13.pod
Log:
* S13 and S06: Remove the mentioning of "invocants" for
multi dispatch; they are now simply "parameters", or
"important parameters" for dispatch purposes.
Modified: doc/trunk/design/syn/S06.pod
==============================================================================
--- doc/trunk/design/syn/S06.pod (original)
+++ doc/trunk/design/syn/S06.pod Fri Aug 18 08:11:42 2006
@@ -13,9 +13,9 @@
Maintainer: Larry Wall <larry@wall.org>
Date: 21 Mar 2003
- Last Modified: 17 Aug 2006
+ Last Modified: 18 Aug 2006
Number: 6
- Version: 50
+ Version: 51
This document summarizes Apocalypse 6, which covers subroutines and the
@@ -54,7 +54,7 @@
B<Multimethods> (keyword: C<multi>) are routines that can have multiple
variants that share the same name, selected by arity, types, or some
-other constraints. They may have multliple invocants.
+other constraints.
B<Prototypes> (keyword: C<proto>) specify the commonalities (such
as parameter names, fixity, and associativity) shared by all multis
@@ -498,10 +498,10 @@
# fall-back to set_name($obj, "Sam")
$obj.set_name("Sam"); # same as the above
-An invocant is the topic of the corresponding method or multi if that
-formal parameter is declared with the name C<$_>. A method's first
-invocant always has the alias C<self>. Other styles of self can be
-declared with the C<self> pragma.
+An invocant is the topic of the corresponding method if that formal
+parameter is declared with the name C<$_>. A method's first invocant
+always has the alias C<self>. Other styles of self can be declared
+with the C<self> pragma.
=head2 Longname parameters
@@ -515,9 +515,9 @@
multi method set_name ($self: $name; $nick) {...}
If the parameter list for a C<multi> contains no semicolon to delimit
-the list of invocant parameters, then all positional parameters are
-considered invocants. If it's a C<multi method> or C<multi submethod>,
-an additional implicit unnamed C<self> invocant is prepended to the
+the list of important parameters, then all positional parameters are
+considered important. If it's a C<multi method> or C<multi submethod>,
+an additional implicit unnamed C<self> invocant is added to the
signature list unless the first parameter is explicitly marked with a colon.
@@ -2148,7 +2148,7 @@
This special form should generally be restricted to named parameters.
To curry a particular multimethod it may be necessary to specify the type
-of one or more of its invocants:
+for one or more of its parameters:
&woof ::= &bark:(Dog).assuming :pitch<low>;
&pine ::= &bark:(Tree).assuming :pitch<yes>;
Modified: doc/trunk/design/syn/S13.pod
==============================================================================
--- doc/trunk/design/syn/S13.pod (original)
+++ doc/trunk/design/syn/S13.pod Fri Aug 18 08:11:42 2006
@@ -12,9 +12,9 @@
Maintainer: Larry Wall <larry@wall.org>
Date: 2 Nov 2004
- Last Modified: 1 Apr 2006
+ Last Modified: 18 Aug 2006
Number: 13
- Version: 4
+ Version: 5
=head1 Overview
@@ -53,11 +53,10 @@
rather than the built-in one. Putting the C<multi> into the C<*>
namespace makes it show up in everyone's packages, but as long as no one
else defines a version of C<uc> on C<TurkishStr>, there's no collision.
-The types of the invocants are included in the "long name" of any C<multi>
-sub or method.
-If you want to overload string concatenation for Arabic strings
-so you can handle various ligatures, you can say:
+The types of the parameters are included in the I<longname> of any C<multi>
+sub or method. So if you want to overload string concatenation for Arabic
+strings so you can handle various ligatures, you can say:
multi sub *infix:<~>(ArabicStr $s1, ArabicStr $s2) {...}
multi sub *infix:<~>(Str $s1, ArabicStr $s2) {...}
-
[svn:perl6-synopsis] r11135 - doc/trunk/design/syn
by audreyt