Apocalypse 6
This is the Apocalypse on Subroutines. In Perl culture the term
“subroutine” conveys the general notion of calling something that
returns control automatically when it’s done. This “something” that
you’re calling may go by a more specialized name such as “procedure”,
“function”, “closure”, or “method”. In Perl 5, all such subroutines
were declared using the keyword sub
regardless of their specialty.
For readability, Perl 6 will use alternate keywords to declare special
subroutines, but they’re still essentially the same thing underneath.
Insofar as they all behave similarly, this Apocalypse will have
something to say about them.
Wow, there’s some good stuff in there—better static checking, multimethods, macros, slurping parameters, keywordless lambdas—but at what expense in complexity?