Science of Computer Programming - Special issue on mathematics of program construction
Polytypic data conversion programs
Science of Computer Programming
Template meta-programming for Haskell
ACM SIGPLAN Notices
Polytypic Compact Printing and Parsing
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
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
Principles of inverse computation and the Universal resolving algorithm
The essence of computation
Journal of Functional Programming
Journal of Functional Programming
Journal of Functional Programming
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
There and back again: arrows for invertible programming
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Applicative programming with effects
Journal of Functional Programming
Information Systems
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
On typing delimited continuations: three new solutions to the printf problem
Higher-Order and Symbolic Computation
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Proceedings of the 4th ACM symposium on Haskell
Less is more: unparser-completeness of metalanguages for template engines
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Formal network packet processing with minimal fuss: invertible syntax descriptions at work
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
Higher-Order and Symbolic Computation
Declarative specification of template-based textual editors
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
FliPpr: a prettier invertible printing system
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Correct-by-construction pretty-printing
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Hi-index | 0.00 |
Parsers and pretty-printers for a language are often quite similar, yet both are typically implemented separately, leading to redundancy and potential inconsistency. We propose a new interface of syntactic descriptions, with which both parser and pretty-printer can be described as a single program. Whether a syntactic description is used as a parser or as a pretty-printer is determined by the implementation of the interface. Syntactic descriptions enable programmers to describe the connection between concrete and abstract syntax once and for all, and use these descriptions for parsing or pretty-printing as needed. We also discuss the generalization of our programming technique towards an algebra of partial isomorphisms.