Lazy functional incremental parsing
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Stepwise evaluation of attribute grammars
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
MKM'11 Proceedings of the 18th Calculemus and 10th international conference on Intelligent computer mathematics
Proceedings of the 4th ACM symposium on Haskell
Functional modelling of musical harmony: an experience report
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Parsing with derivatives: a functional pearl
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
The Semantics of Parsing with Semantic Actions
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
A programming tutor for haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Functional semantics of parsing actions, and left recursion elimination as continuation passing
Proceedings of the 14th symposium on Principles and practice of declarative programming
Higher-Order and Symbolic Computation
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Grammar fragments fly first-class
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
A functional approach to automatic melody harmonisation
Proceedings of the first ACM SIGPLAN workshop on Functional art, music, modeling & design
Hi-index | 0.00 |
There are numerous ways to implement a parser for a given syntax; using parser combinators is a powerful approach to parsing which derives much of its power and expressiveness from the type system and semantics of the host programming language. This tutorial begins with the construction of a small library of parsing combinators. This library introduces the basics of combinator parsing and, more generally, demonstrates how domain specific embedded languages are able to leverage the facilities of the host language. After having constructed our small combinator library, we investigate some shortcomings of the naïve implementation introduced in the first part, and incrementally develop an implementation without these problems. Finally we discuss some further extensions of the presented library and compare our approach with similar libraries.