On Oct 12, 7:08 am, Rich Hickey <[EMAIL PROTECTED]> wrote:
> As this discussion highlights, Clojure doesn't have a proper notion of
> multidimensional arrays or vectors. I saw a presentation on IBM's X10
> [1] and was impressed by their point-indexed arrays. I think there are
> some good ideas in there that might inspire a nice contribution to
> Clojure.
>
> Rich
>
> [1]http://x10-lang.org/

The parallel HPC language Titanium [1] has similar constructs.  They
are useful for expressing computations on regular grids.  You could
have constructs like "for all points p in domain D" and also have an
idea of "neighbors" of p (north, south, east, west, up, down).  D
might have interesting boundary conditions (e.g., reflecting or
periodic) and the "for all" construct would be aware of this when
computing neighbors.  I could see this being useful for games
(collision detection perhaps, or wave propagation).

When I work with matrices I generally want actual 2-D indices, and
also the ability to partition and slice matrices.  The right syntax
there might be different than with regular grids:  I don't generally
think of "neighbors" of a matrix entry, rather of entire slices
related to that entry.  Of course grids and matrices could look the
same underneath but the usual notation is different.

In your copious free time, of course ;-)  I mention it only because
there are different notations for the same underlying construct, which
is interesting for language designers.

mfh

[1] http://titanium.cs.berkeley.edu/
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to