by Erik Meijer
For the past decade, I have been on a quest to democratize developing data-intensive distributed applications. My secret weapon to slay the complexity dragon has been category theory and monads, but in particular the concept of duality. As it turns out, the data domain is an extremely rich source of all kinds of interesting dualities. These dualities are not just theoretical curiosities, but actually solve many practical problems and help to uncover deep similarities between concepts that at first look totally unrelated.In this talk I will illustrate several of the dualities I have encountered during my journey, and show how this resulted in a novel “A co-Relational Model of Data for Large Shared Data Banks”.
by Nate Young
Parser combinators are a programming concept that can be used to parse and process a huge class of grammars. They are lightweight and nimble like a rhinoceros thrown from a plane at altitude is not.
This is mostly a technique talk. Parser combinators are not specific to a language, nor are they found in only a single, specific library. They fill a wide gap where DSLs come up short and full parser-generators like ANTLR or yacc are too heavy-weight.
Under the hood, parser combinators are left-recursive (one of the 2 best kinds of recursive), have infinite lookahead (which, disappointingly, can not be used for nefarious time continuum-related mischief) and, for fans of category theory, can be defined both in terms of an associative binary operator and an identity value (I understand if this doesn’t turn everyone’s crank).
I’ll explain all of the above and more, using sample code from diverse languages with that hope that I can impart a very practical knowledge to my listeners about what makes parser combinators tick and how they can be used to greatly expand the number of languages an application speaks.
18th–20th September 2011