Re: [stack] What does "concatenative" actually mean?
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Mar 6, 2009, at 7:39 PM, Christopher Diggins wrote: > On Fri, Mar 6, 2009 at 6:24 PM, John Nowak <[email protected]> wrote: > >> It's not a lambda. Quotation and lambdas have a similar use, but >> they're not the same thing. > > In the context of Joy and Cat a quotation and a lambda is equivalent. Equivalent in what sense? In the sense that they're used for similar reasons? That would be what I said. If not, what sort of equivalency are you talking about? > When you evaluate an abstracted function, you get the function. This > is basic lambda calculus. Except quotation does not have the variables of lambda calculus. There are no lambdas in a concatenative language. What we can do is describe quotation in terms of lambda calculus: \f. \s. cons f s In other words, when quotation is applied to some function 'f', the result is a new function that, when applied to some stack 's', returns the result of consing 'f' onto 's'. This is all quotation is; nothing more, nothing less. Claiming that quotation is "equivalent" to a lambda abstraction doesn't make a whole lot of sense with this understanding. The only thing that they have in common is that they're both used to create new functions. - John