Re: [stack] disallowing recursive definitions

"William Tanksley, Jr" <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
Christopher Diggins <[email protected]> wrote:
> Stevan Apter <[email protected]> wrote:
>  > i'm still puzzled why authors of concatenative languages like cat and factor
>  > have resisted the incorporation of array primitives into their languages.

It shouldn't be a puzzle... They don't understand. It's hard to get
started learning about it.

The existing array languages are, with only two exceptions, closed
source. (The early J interpreter was available, although I don't know
how to get it now, and I couldn't ever figure out how to read it.) A+
is unreservedly open source, of course, as is QNIAL. I found A+ to be
very hard to figure out, QNIAL fairly easy.

>  Map, filter, fold, etc. are all part of the core Cat language. I
>  consider all of these array primitives.

I suppose they technically are. They're just a beginning, though.

> The Cat concept of list is
>  more or less analgous to an array, but is agnostic about
>  implementation details. An implementation is left to its own devices
>  as to what the performance characteristics of lists are. Sorry its not
>  more clear in the current documentation.

That's a pretty important point, really. It makes the difference
between an O(n) implementation and an O(n^2) one. I'd really rather it
be specified.

>  > my sense is that programmers (and language designers) *still* do not
>  > appreciate the power of array programming.

We don't. I don't. I wish I did, but it's a steep hill to climb.

>  Nonetheless, your original point is still valid that some more array
>  processing primitives would be valuable in Cat. I'll add some to the
>  specification.

I like the implicit iteration.

>  - Christopher

-Wm
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.