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