Hacker News new | ask | show | jobs
by sago 2900 days ago
After RTFM, I can answer my own question:

> In Arc, data structures can be used wherever functions are, and they behave as functions from indices to whatever's stored there.

(quoted from the Arc tutorial)

So

   arc> (l 0)
   1
and so on. So the GP makes sense.
1 comments

that's confusing as hell. there's a reason this didn't take off (Besides the competition from clojure)
I don't like the Arc language because it's dynamically typed and thus inherently unsafe (see other threads for this sort of discussion.)

But I like this particular feature. If you think about it, an array is a mathematical function, or map, from indices to values. So it makes sense to be able to apply it to indices to get the respective values.

In that sense, map just composes its two arguments.
That's cool! I'm a mathematician and so inclined to (over-)abstract programming, but it had never occurred to me to think of it that way.
Learn you a lisp for great justice
It's kinda cool to be able to write (myarray i).