Author: masak
Date: 2010-08-08 09:21:59 +0200 (Sun, 08 Aug 2010)
New Revision: 31923

Modified:
   docs/Perl6/Spec/S32-setting-library/Str.pod
Log:
[S32/Str] cruft-removal for &pack

- Ditch the encoding bit for now. Users can encode to Str the usual way.
- Not sure a typed slurpy parameter is going to fly. Changing to a 'where'
  clause.
- Added TOP rule to grammar, anchoring at start and end of format string.

Modified: docs/Perl6/Spec/S32-setting-library/Str.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/Str.pod 2010-08-08 06:06:34 UTC (rev 
31922)
+++ docs/Perl6/Spec/S32-setting-library/Str.pod 2010-08-08 07:21:59 UTC (rev 
31923)
@@ -269,9 +269,7 @@
 
 =item pack
 
- our Str multi pack( Str::Encoding $encoding,  Pair *...@items )
- our Str multi pack( Str::Encoding $encoding,  Str $template, *...@items )
- our buf8 multi pack( Pair *...@items )
+ our buf8 multi pack( *...@items where { @items »~~» Pair })
  our buf8 multi pack( Str $template, *...@items )
 
 C<pack> takes a list of pairs and formats the values according to
@@ -280,26 +278,17 @@
 the specifications in the template string. The result is a sequence
 of bytes.
 
-An optional C<$encoding> can be used to specify the character
-encoding to use in interpreting the result as a C<Str>, otherwise the return
-value will simply be a C<buf> containing the bytes generated
-by the template(s) and value(s). Note that no guarantee is made
-in terms of the final, internal representation of the string, only
-that the generated sequence of bytes will be interpreted as a
-string in the given encoding, and a string containing those
-graphemes will be returned. If the sequence of bytes represents
-an invalid string according to C<$encoding>, an exception is generated.
-
 Templates are strings of the form:
 
   grammar Str::PackTemplate {
-   regex template  { [ <group> | <specifier> <count>? ]* }
-   token group     { \( <template> \) }
-   token specifier { <[aazbbhhccssiillnnvvqqjjfdfdppuuw...@]> \!? }
-   token count     { \* |
-             \[ [ \d+ | <specifier> ] \] |
-             \d+ }
- }
+    regex TOP       { ^ <template> $ }
+    regex template  { [ <group> | <specifier> <count>? ]* }
+    token group     { \( <template> \) }
+    token specifier { <[aazbbhhccssiillnnvvqqjjfdfdppuuw...@]> \!? }
+    token count     { \*
+                    | \[ [ \d+ | <specifier> ] \]
+                    | \d+ }
+  }
 
 In the pairwise mode, each key must contain a single C<< <group> >> or
 C<< <specifier> >>, and the values must be either scalar arguments or

Reply via email to