Past Meetup

PWL #31: Projectional Editors and Parsing with Derivatives

This Meetup is past

49 people went

Location image of event venue

Details

To parse or not to parse: a two-for-one paper-loving showdown!

David Murray presents Projecting a Modular Future (http://www.voelter.de/data/pub/projectingModuleFuture.pdf)

"We describe two innovations in programming languages: modularity and projectional editing. Language modularity refers to the ability to combine independently developed languages without changing their respective definitions. A language is not anymore a fixed quantity, instead it can be extended with domain-specific constructs as needed. Projectional editing refers to a technique of building editors and IDEs that avoid the need for parsers. They support a wide range of tightly integrated notations including textual, symbolic, tabular and graphical. In addition, by avoiding parsers, the well-known limitations of grammar composition are avoided as well."

David Graunke presents Parsing with Derivatives (http://matt.might.net/papers/might2011derivatives.pdf)

"We present a functional approach to parsing unrestricted context-free grammars based on Brzozowski’s derivative of regular expressions. If we consider context-free grammars as recursive regular expressions, Brzozowski’s equational theory extends without modification to context-free grammars (and it generalizes to parser combinators). The supporting actors in this story are three concepts familiar to functional programmers—laziness, memoization and fixed points; these allow Brzozowski’s original equations to be transliterated into purely functional code in about 30 lines spread over three functions."

Who What Where
Big ups to Thomas Street (https://thomasstreet.com/) for hosting! As usual, food and chatting starts at 6:30, papers at 7:00.

Please Remember
Like all chapters of Papers We Love, we abide by and enforce the PWL Code of Conduct (https://github.com/papers-we-love/seattle/blob/master/code-of-conduct.md). Please give it a read, plan on conducting yourself accordingly, and contact one of the organizers if you need to report an incident.