Skip to content
0:00 / 0:00

#recursionschemes#coproducts#parsing

Bracer: Transforming Real-World Languages with Coproducts and Recursion Schemes - Patrick Thomson

Maitria Alex Harms

150 subscribers • 2 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Patrick Thomson

Advanced. Deep dive for people who know the field.

1.3K views10 years ago1 recommendation

Programming languagesSystems programmingCompilers and interpretersHaskellFunctional programming

Patrick Thomson introduces Bracer, a Haskell toolkit that uses recursion schemes and coproducts to parse and transform curly-brace languages.

Curly-brace languages won the syntax war: the pattern of delimiting scope with curly braces appears in countless programming languages, data interchange formats, and configuration files. However, the small but significant syntactic differences between these languages means that APIs for transforming, filtering, and modifying said languages are, when they exist at all, very specific and inextensible. Bracer is a Haskell-based toolkit for parsing various curly-brace languages that seeks to change this. I’ll outline the challenges associated with building an extensible language workbench, and how borrowing seemingly-abstract concepts (recursion schemes and coproduces) from the functional-programming literature enables us to parse and transform source code safely, concisely, and efficiently.

Why it's here

1 person recommends this

What people say. Recommended for its practical application of recursion schemes and coproducts to parsing real-world languages.

u/ysangkokin r/haskell • Recommends

Transforming Real-World Languages with Coproducts and Recursion Schemes link to this video