Hello everyone,

I just uploaded some of my work on a new datatype for clojure to a git
repository.

http://github.com/aperotte/persistentmatrix

A bit of the rationale and motivation for the datatype is described on
the github page.  I basically wanted to create a datastructure for
manipulating large amounts of data efficiently and in a human friendly
way in clojure.

Its main features are:

   1. Immutability
   2. Primitive Support
   3. N-Dimensional – Arbitrary number and size of dimensions (ie.
ability to create a 4×3×5x6 datastructure)
   4. N-Dimensional units (ie. ability to create a 10×10 matrix with
2×1 units to represent complex numbers)
   5. Fast submatrix views via structural sharing (ie. constant time
slicing, transposing, and other data manipulations)
   6. Maintenance of both deep and superficial dimensionality (ie.
slicing a 4×3×5x6 along the 3rd dimension will yield a datastructure
with a superficial dimensionality of 3 and a deep dimensionality of 4)
   7. Axis and element labeling and label indexing (ie. ability to
label axes and elements of an axis with strings or any arbitrary
object)
   8. Implementing many of the clojure interfaces and thereby
automatically inheriting much of the functionality of the standard
library for data structures.

I would welcome any feedback.  Also, if anyone is interested in
working together to accelerate its development, that would be welcome
too!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to