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