dynamic-pp: A pretty-print library that employs a dynamic programming algorithm for optimal rendering.
This library provides pretty-print operators similar to the set provided by the Wadler-Leijin pretty-printer. The main difference, however, is that it utilizes a dynamic programming algorithm for rendering. This slightly reduces the available combinators, but provides a layout engine that optimizes documents, minimizing their over-wrap and line count.
The dynamic programming algorithm has pathological cases that cause it to run in quadratic time; however, typical use on code-like programs should see better run times. In general, documents with many uses of the choose combinator will require more time to render.
This library also provides two simpler rendering engines for uses where the full optimal layout engine is not necessary. These engines are much simpler and consume fewer resources.
NOTE: This library is still in development. It may contain bugs, performance issues, and the interface may change.
Downloads
- dynamic-pp-0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.2.0 |
---|---|
Dependencies | ansi-terminal, base (>=4.4.0 && <5), blaze-builder, bytestring, Cabal (>=1.16.0), hashable, unordered-containers, utf8-string [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2015 Eric McCorkle. All rights reserved. |
Author | Eric McCorkle |
Maintainer | Eric McCorkle <emc2@metricspace.net> |
Category | Text |
Home page | https://github.com/emc2/dynamic-pp |
Bug tracker | https://github.com/emc2/dynamic-pp/issues |
Source repo | head: git clone git@github.com:emc2/dynamic-pp.git |
Uploaded | by emc2 at 2015-07-19T19:15:10Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 1635 total (7 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2015-07-19 [all 1 reports] |