Parsers From Scratch + Zippers


Details
Parsers from Scratch - Fraser Tweedale
Parser combinators - functions to assemble big parsers from little ones - are an instructive example of composability and reuse made possible through FP, and building one is a useful (and common!) exercise for learners seeking through practical application a solid understanding of abstractions such as applicative functors and monads.
In this talk, we will briefly examine some parsing libraries available for Haskell and discuss their relative benefits and drawbacks. Then we will ignore everything we just saw and build a parser combinator library from scratch. Moreover, our parser will be abstracted over the "whole" and "element" input types - a more general result than most parsers.
I will conclude with a summary of some topics for further study including important parser design decisions, optimisations and efforts to unify parsing and pretty printing.
Zippers - George Wilson
Immutable data-structures are the bread and butter of functional programming. Advantages of immutability include the persistence of old versions, the thread-safety, and the ability to reason about these structures. However, repeatedly modifying data deep within a nested immutable structure can have severe performance costs.
Structures known as 'zippers' allow for efficient traversal and modification of immutable data-structures. In this beginner-to-intermediate level talk, zippers will be motivated and introduced in Scala. A successful practical application of zippers in the Argonaut JSON library will be examined.
Sponsors
Thanks to Skedulo for the Pizza and thanks to NICTA for hosting us!

Parsers From Scratch + Zippers