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 <[EMAIL PROTECTED]>
   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 <[EMAIL PROTECTED]>
   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) {...}

Reply via email to