Some feedback.

   > Syntax Overview
   > 
   > Keywords
   >     continue, do, else, elsif, for, foreach, given, goto, grep, if, last,
   >     map, next, redo, sort, sub, unless, until, when, while 

C<try> and C<catch>

(C<finally> is not nearly so certain.)


   > Conditional Statement Modifiers
   > 
   >  6. [ LABEL: ] expr if expr;
   >  7. [ LABEL: ] expr unless expr;

I'm not at all sure modifiers will be stackable, as this grammar implies.


   > Iterative Block Constructs
   > 
   > 20. [ LABEL: ] for[each] [ scalar ] ( list ) { block } # Note 4

I am hoping that Larry will also give us:

         [ LABEL: ] for[each] (scalar, scalar ...) ( list ) { block }


   > Subroutine Code Blocks                                 # Note 6
   > 
   > 21. sub identifier [ ( prototype ) ] [ :properties ] { block }
   > 22. sub [ ( prototype ) ] { block }                    # Note 7

Currently:

     21. sub identifier [ ( prototype ) ] [ is properties ] { block }
     22. sub [ ( prototype ) ] [ is properties] { block } [is properties]

Though I would *much* prefer to see:

     21. sub identifier [ ( prototype ) ] [ :traits ] { block }
     22. sub [ ( prototype ) ] [ :traits] { block } [is properties]

   
   > A list consists of zero or more expressions. List members may
   > either be an explicit expression, separated via a comma (','), or
   > may be interpolated from two expressions via either of the two
   > range operators ( ('..') and ('...') ). A list of zero elements
   > must be delimited by parenthesis.

May also have a redundant comma after the last element.


   > A statement consists of zero or more expressions, followed by an optional
   > modifier and its expression, and either a statement terminator (';') or a
   > block closure ('}' or EOF).

Need to recast this in terms of statement separators and null statements.

   
   > A block consists of zero or more blocks and statements. A file is
   > considered a block, delimited by the file boundaries.   Semantically, I
   > will define a block only in terms of its affect on scoping.

<PEDANT>
        "its effect on scoping"
        (we probably don't care about its pyschological demeanor ;-)
</PEDANT>
   

Damian

Reply via email to