Extending Syntax - Functional Programming meets Macros

This video is in German.
Length: 43:06
Source: German Perl Workshop 2014 on the 2014-03-28.
Speaker: Rolf Langsdorf (LanX)

Perl has huge flexibility to extend its own syntax, not always to the good of the maintainability.

In YAPC Riga 2011 we showed a functional approach to elegantly provide new idioms, including operators and control structures, just by using

a) The syntactic sugar of chaining functions with special prototypes b) A LISP like macro system which expands functions to inlined code.

(see http://yapceurope.lv/ye2011/talk/3597 )

We argued that this approach is - more reliable - easy to install, use, maintain ... - compatible with established development tools - less delicate in edge cases

And demonstrated how to extend Perl5 to have idioms like

  • List Comprehensions,
  • Co-Routines and Gather-Take,

Aim of this presentation is to finish what we started and trying to implement a variety of language features known from Perl6, Python or Ruby.

We will see that the real complexity lies in the design and not in the implementation of good idioms.