A vision for Parrot

Darren New wrote:

So? Pass these in as arguments. There’s no need to recompile a
procedure for each and every different set of arguments that might
be passed to it. That would defeat the point of having procedures
in the first place.

A binding isn’t a procedure.

That depends on your interface to Tk … in perl, a binding is a
procedure. Well, actually it’s either a procedure or a method name.

bind $b ‘’, sub { print “Button pressed.\n” };

The ‘sub’ keyword creates an unnamed procedure.

Indeed, I’m pretty sure that [eval] doesn’t
cache bytecode in bindings because it’s more inefficient than
regenerating the bytecodes each time. It’s good style to invoke a
procedure, but hardly necessary. And indeed, putting something like
“break” or “continue” inside a procedure called by a binding doesn’t
have the same effect as putting it in the binding.

What are the semantics of “break” and “continue” in a procedure, when
they don’t refer to a label or loop within that procedure?

···


my $n = 2; print +(split //, ‘e,4c3H r ktulrnsJ2tPaeh’
…“\n1oa! er”)[map $n = ($n * 24 + 30) % 31, (42) x 26]