Pretty printing with lazy dequeues

Olaf Chitil · ACM Transactions on Programming Languages and Systems · 2005

There are several purely functional libraries for converting tree structured data into indented text, but they all make use of some backtracking. Over twenty years ago, Oppen published a more efficient imperative implementation of a pretty printer. This article shows that the same efficiency is also obtainable without destructive updates by developing a similar but purely functional Haskell implementation with the same complexity bounds. At its heart lie two lazy double ended queues.

Read the paper · More papers on PaperTik