Larry Wall wrote:

I'm still thinking about what «...» might mean, if anything.  Bonus points
for interpolative and/or word-splitty.

I'm perhaps not being entirely serious, but if you want something word-splitty and interpolative, how about this (which may cause unwanted physiological side effects, I disclaim all responsibility)


        «word ws word ws number»

which would mean

        <word> <ws> <word> <ws> <number>

but with less typing, depending on how many keystrokes it takes to produce « and » on your keyboard, and how much you put in it.

As far as interpolation goes, it would have to treat

        «word ws $foo ws number»

As

        <word> <ws> <$foo> <ws> <number>

assuming, that is, that <$foo> would take the value of $foo and use it as the name of the rule to match against, rather than taking the contents of $foo and using it as the rule. Or perhaps that's the better way round, if $foo is a regexp/rule object thingy (not quite sure how they work for us in Perl 6, can I say my $foo = rule { \d+ }; and expect something sane?). Perhaps it treats it as a name if it contains a string and a rule if it contains a rule.

Of course, it then begs the question about

        <word ws $foo ws number>

if we're thinking of parallels with qw//-like constructs, which I certainly am. I'm not quite sure what that would do, as it collides slightly with the existing rule match syntax (which I quite like), and thus it may already have a meaning.

Perhaps I've gone completely barmy; I throw it open for your decision, good p6lers.



Reply via email to