u/ysangkokin r/haskell • Recommends
Transforming Real-World Languages with Coproducts and Recursion Schemes link to this video
#recursionschemes#coproducts#parsing
150 subscribers • 3 videos on Hallway
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.What people say. Recommended for its practical application of recursion schemes and coproducts to parsing real-world languages.
u/ysangkokin r/haskell • Recommends