Re: [stack] disallowing recursive definitions
Stevan Apter <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
----- Original Message ----- From: "William Tanksley, Jr" <[email protected]> To: <[email protected]> Sent: Saturday, March 01, 2008 7:26 PM Subject: Re: [stack] disallowing recursive definitions > Christopher Diggins <[email protected]> wrote: >> William Tanksley, Jr <[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. > >> That is awfully presumptious of you. > > I didn't expect or intend to offend, but no, it's not presumptuous. > You yourself said, 'I don't know what "til", "find", "raze", "where", > "all", "each", and "amend" do'. The "array primitives" that you do > understand, you only know about because you're extremely conversant > with functional list-processing languages (not array languages). This > shouldn't be insulting to you; you're a highly productive and > intelligent person who thoroughly understands CS. I want to challenge > the array language community to come out and educate us if they're > dissatisfied with our work. that would be me i guess. with only a few exceptions, most of the arrayheads i know don't have much interest in programming language theory. hell, they hardly even think of APL as a language. it's just a tool for doing math, mostly of the financial kind. one exception that comes to mind is john scholes, CTO and principal language designer for dyalog, the APL company in the UK. john has done some very cool work in meshing combinators, type theory, and array programming. as far as doing missionary work for arrays to the concatenative community (jeez i've come to despise that word), isn't that exactly what i've been doing for five years? :-) three toy languages, innumerable examples, &c. (ok, now i'm starting to whine like mrs clinton.) seriously though, i really am puzzled why none of the *serious* language designers around here (christopher and slava comes to mind) agree that array primitives and composition-based functional languages form a natural fit. i've had this conversation with slava over on his factor chat-room, and i've never been able to persuade him on this point. i think (and this is just pure speculation on my part) that you have tohave to have a bad feeling about writing a loop (or an explicit recursion) before you see the value of the alternative. you have to resent the fact that the language is making you write the same damned loop or recursion over and over again. i mean, these are computers, right? you should be able to tell it just once: when i add an n-dimensional array and a m-dimensional array, and the structures cohere, then *you* figure out how to write the loop. remember that a lot of APLers learned APL as their first programming language (in business-school or at one of the investment banks back in the 80s, or in high-school in the 70s, when APL had a significant presence in education) and have never been able to bring themselves to learn java or c. so for them (and for me too) looping and recursion are what you do when you can't find an array solution to your problem. maybe you can't find one because there isn't one to be found, or maybe you're just not looking at the problem correctly. either way, you have to want to find it. fortunately, problems like that don't crop up all that often in real life. you have to go out and look for them.