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 -~----------~----~----~----~------~----~------~--~---