13 –14 May 2013
Daniel Spiewak is a software developer based out of Boulder, CO. Over the years, he has worked with Java, Scala, Ruby, C/C++, ML, Clojure and several experimental languages. He currently spends most of his free time researching parser theory and methodologies, particularly areas where the field intersects with functional language design, domain-specific languages and type theory.
Daniel has written a number of articles on his weblog, Code Commit, including his popular introductory series, Scala for Java Refugees.
"Functional Programming" is the modern received wisdom regarding program and language design. All the cool kids talk about writing code that is "functional" or even "purely functional". However, functional programming as it is traditionally defined really doesn't cut the mustard, and if you look at how modern functional architectures are being shaped, everyone seems to have tacitly arrived at the same conclusion: more is needed.
In this talk, we will look at how modern functional languages like Scala, Clojure and even Haskell have evolved beyond the simple paradigms of the lambda calculus. We will see how the industry has really moved beyond functional programming and into the realm of something more powerful, more expressive and better suited to the task of large application architecture.
Discover the deep mysteries of parsing algorithms and grammatical wizardry in everyone's favorite programming language! We will start from a basic parser combinator framework and build our way toward something much more general. Along the way, we will uncover the wonders of finite automata, parsing expression grammars, compiler-compilers, and more!