How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Extending context-free grammars with permutation phrases
ACM Letters on Programming Languages and Systems (LOPLAS)
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
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Applicative programming with effects
Journal of Functional Programming
Macros for context-free grammars
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Haskell, do you read me?: constructing and composing efficient top-down parsers at runtime
Proceedings of the first ACM SIGPLAN symposium on Haskell
Partial Parsing: Combining Choice with Commitment
Implementation and Application of Functional Languages
Revealing the X/O impedance mismatch: changing lead into gold
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
MKM'11 Proceedings of the 18th Calculemus and 10th international conference on Intelligent computer mathematics
Constructing applicative functors
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Fixing idioms: a recursion primitive for applicative DSLs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
A permutation phrase is a sequence of elements (possibly of different types) in which each element occurs exactly once and the order is irrelevant. Some of the permutable elements may be optional. We show how to extend a parser combinator library with support for parsing such free-order constructs. A user of the library can easily write parsers for permutation phrases and does not need to care about checking and reordering the recognized elements. Applications include the generation of parsers for attributes of XML tags and Haskell's record syntax.