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.
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.