A straight-forward port of the Haskell code from [1] to Clojure. Provides a protocol which abstracts arithmetic over the natural numbers and an instance of this protocol based on a tree representation which lets one compute with really large numbers efficiently.
[1] Tree-based Arithmetic and Compressed Representations of Giant Numbers
http://arxiv.org/abs/1301.0114
Please read the paper.
Original code is copyright tarau@cs.unt.edu 2013
Clojure code is copyright jakob@primat.es 2013
Distributed under the Creative Commons License.