kirancodes.me
To Proof Maintenance & Beyond!

Linear, bounded, functional pretty-printing

S. Doaitse Swierstra, Olaf Chitil

Abstract

Abstract We present two implementations of Oppen's pretty-printing algorithm in Haskell that meet the efficiency of Oppen's imperative solution but have a simpler and a clear structure. We start with an implementation that uses lazy evaluation to simulate two co-operating processes. Then we present an implementation that uses higher-order functions for delimited continuations to simulate co-routines with explicit scheduling.

Related papers