A pretty but not greedy printer (functional pearl)

Jean-Philippe Bernardy · Proceedings of the ACM on Programming Languages · 2017

This paper proposes a new specification of pretty printing which is stronger than the state of the art: we require the output to be the shortest possible, and we also offer the ability to align sub-documents at will. We argue that our specification precludes a greedy implementation. Yet, we provide an implementation which behaves linearly in the size of the output. The derivation of the implementation demonstrates functional programming methodology.

Read the paper · More papers on PaperTik