Re: [stack] Joy's relationship to FP + a Joy variant with combining forms

John Nowak <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
On May 31, 2008, at 1:31 PM, Stevan Apter wrote:

> my memory is that backus specifically
> credits iverson's work and APL as the inspiration for FP's combining
> forms in his original paper, although i could be mistaken.

Indeed he did:

"We owe a great debt to Kenneth Iverson for showing us that there are  
programs that are neither word-at-a-time nor dependent on lambda  
expressions, and for introducing us to the use of new functional  
forms." - John Backus, 'Can Programming Be Liberated from the von  
Neumann Style?'

> in later generation APLs, it was possible to define operators as  
> second-
> order functions in the same way that one could define first-order  
> functions.

I believe this is equivalent to what I'm suggesting. In other words,  
you can make new second order operators, but there is still no way to  
represent functions as objects (i.e. no first class functions).

What I'm desperately curious about is why certain languages like FP,  
APL, J, etc, avoid first class functions. Obviously there are  
advantages to only having first order functions, and I see a few ways  
this is useful (termination proofs are much easier, etc), but I'm  
admittedly less informed on this subject than I'd like to be. If  
anyone would be willing to point me in the direction of something that  
discusses the advantages of the FP/APJ/J approach in contrast to the  
ML/Haskell approach, I'd be very grateful. Unfortunately, most papers  
on FP seem to be locked away on sites I don't have access to, which is  
doubly bad as there are so few to begin with.

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