Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Science of Computer Programming - Special issue on mathematics of program construction
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
Journal of Functional Programming
ACM SIGPLAN Notices
Programming monads operationally with Unimo
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Science of Computer Programming
Lazy functional incremental parsing
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Monatron: an extensible monad transformer library
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Kan extensions for program optimisation or: art and dan explain an old trick
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Efficient divide-and-conquer parsing of practical context-free languages
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We derive a combinator library for non-deterministic parsers with a monadic interface, by means of successive refinements starting from a specification. The choice operator of the parser implements a breadth-first search rather than the more common depth-first search, and can be seen as a parallel composition between two parsing processes. The resulting library is simple and efficient for “almost deterministic” grammars, which are typical for programming languages and other computing science applications.