I believe all pretty-printing algorithms are generic and can layout anything (that has fixed width) on any mostly fixed-width unbound height medium.
extension of Wadler’s one
further extension of the Leijen one
pretty-printing in strict language. Wadler semantics
A general pretty-printing library in Racket
early version of the prettier seems to be inspired by Wadler and has some additional features.
Compact, Streaming Pretty-Printing of Hierarchical Data: a Pretty-Printing algorithm by Haoyi used in scala’s PPrint: http://www.lihaoyi.com/PPrint/
Might be not robust enough for pretty-printing code (but good enough for printing data). Also, nice ideas on making pretty-printer streaming.