Pretty printing with lazy dequeues.
Transactions on Programming Languages and Systems (TOPLAS), 27
(Full text available)
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.
- Depositors only (login required):