Commit Graph

3 Commits

Author SHA1 Message Date
Danny Yoo
90714fbd5e Implements a rb-tree based version of the token tree, and fixes bugs in red-black.rkt.
A few invariants involving subtree-width and black-height balance
could break if singleton nodes were reused; bugs were due to stale
data in the nodes.

The token tree implements the implicit interface in the original
splay-based token tree module in syntax-color/token-tree.  However, it
does not appear to perform significantly differently in the case of
indentation yet.  It needs some additional profiling and analysis to
see if we can take advantage of the richer structure in the rb tree.
2012-11-26 11:14:22 -07:00
Danny Yoo
e4c9ad484e Add full contracts to red-black.rkt, with extensive documention in red-black.scrbl.
A submodule called "uncontracted" provides the contract-free bindings,
as I suspect we'll need them for the token tree for maximum performance.OB
2012-11-22 01:25:42 -08:00
Danny Yoo
3f54afb9fd Add rb-tree implementation in preparation for improving token-tree performance. 2012-11-19 21:06:46 -07:00