Hey Anand,

Thanks for the feedback!

I would have liked to call the arrays "arrays" but java's arrays make
that name less than ideal.  If people think a better name for the
library is persistentarray, I'm not opposed to changing (especially
this early in the game).

It shouldn't be a problem to maintain immutability and also perform a
cross/cartesian product. I'm not sure I understand the problem.

-Adler

On May 6, 1:05 pm, Anand Patil <anand.prabhakar.pa...@gmail.com>
wrote:
> On Sat, May 2, 2009 at 11:19 PM, aperotte <apero...@gmail.com> wrote:
>
> > 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!
>
> Great work! I'm glad to see some numerical advances in Clojure.
>
> I've got a couple of suggestions: first, you might want to follow numpy and
> call n-dimensional arrays 'arrays', and reserve 'matrix' for 2d arrays. Or
> not...
>
> Second, immutability is definitely the right default, but it would be nice
> to be able to create nonstandard arrays from Clojure somehow. For example,
> say I wanted to compute the matrix (f (- x y)) over the Cartesian product of
> vectors x and y.
>
> Anand
--~--~---------~--~----~------------~-------~--~----~
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