Larry Wall wrote:
> But I will make one general remark at the start, which is that we
> want Perl 6 programmer to look at curlies differently than Perl 5
> programmers do.  In Perl 5, curlies were overloaded many different
> ways, and rarely did they mean a closure by themselves.  In Perl 6,
> it's almost always the case that bare curlies indicate a closure of
> some sort throughout the rest of the language.  So the visual and
> psychological import of seeing and typing curlies is intentionally
> weighted rather differently.  Curlies are Perl 6's lambda.  Whenever
> the user sees curlies, we want them to stop and think.  Even the
> curlies used by the "built in" control operators are real lambdas
> in the abstract, unlike in P5 where they are just hardwired in the
> grammar.  Bare curlies in regex are now special too.

All this makes me happy and more willing to accept interpolative curlies.  I
was rapidly hooked on Ruby's ability to easily pass blocks into methods and
want to see more user ability to play with blocks.

And after looking a bit more into how Perl 6 does interpolation I see a lot
has changed.  So I'll drink it all in some more.

> : Code execution in a string is a very powerful thing, so it's not the sort of
> : thing one wants to accidentally trigger.  Because it's using a common,
> : innocent construct, this strikes me as being all too easy to trigger
> : accidentally and unknowingly.
> : 
> : $ pugs -wle 'sub key() { 42 } sub value() { 23 }  say "{ key: value }"'
> : 23
> : 
> : Whoops.
> Seems like you had to work pretty hard to contrive an example
> that would parse.  P6 is much pickier about random code than P5 is.

FWIW that naturally occurred to me and I was surprised when it parsed without
error.  But I've been doing a lot of YAML lately.

> As a last resort, you can even redefine how double quotes work.
> "All is fair if you predeclare."  But I think some people would
> construe that as antisocial.

Every time someone responds to a Perl 6 language concern with "just change the
grammar" I silently scream inside. ;)

Life is like a sewer - what you get out of it depends on what you put into it.
    - Tom Lehrer

Reply via email to