From: Allison Randal <[EMAIL PROTECTED]> Date: Thu, 29 May 2008 02:22:37 +0200
. . . Any of these alternatives can be marked as optional. Positional parameters must come before all lookahead or named parameters. Lookahead parameters must come before all named parameters. Positional, lookahead, and named parameters must come before any slurpy parameters. And required parameters must come before all optional parameters. Allison These ordering constraints could be summarized as follows: positional < lookahead < named required < optional I assume you meant "order by positionality, then by optionality"; otherwise, ordering a required named parameter vs. an optional positional parameter would be tough. That yields the following declaration order (ignoring :slurpy): Pos? Named? Reqd? => Example yes no yes => .param pmc A yes no no => .param pmc B :optional yes yes yes => .param pmc C :lookahead('c') yes yes no => .param pmc D :optional :lookahead('d') no yes yes => .param pmc E :named('e') no yes no => .param pmc F :optional :named('f') I can see why B has to be after A and before C, and I assume ":lookahead before :named" makes the implementation easier, but I can't see the need for any particular ordering of C vs. D, or E vs. F. Am I missing something? Just curious, -- Bob Rogers http://rgrjr.dyndns.org/