Re: [stack] Re: Some thoughts on Object Cat
"William Tanksley, Jr" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
John Nowak <[email protected]> wrote: > Manfred Von Thun wrote: > > In Joy at least, the i combinator does not mean application. Joy is a > > concatenative language, not an applicative language. The applicative > > languages are the lambda calculus and the combinatory calculus, > > together with their descendents – just about all programming languages > > descend from the lambda calculus. All applicative languages have an > > apply operation: apply this function to those arguments, but mostly > > there > > is no explicit symbol for that operation. Joy does not have such an > > operation neither explicit nor implicit. > Are concatenative languages not just a particular kind of applicative > language? It seems to me that there's no real difference between this: > foo = 1 2 + * > And this (where '1' and '2' are functions of type 'A -> A Num' as > above): > foo stack = * (+ (2 (1 stack))) I suppose the key word in "no real difference" is "real". See http://en.wikipedia.org/wiki/No_true_Scotsman. Clearly there's a difference -- trivially, the two are reverses; less trivially, one of them includes grouping operators that aren't present in the other; and critically, those grouping operators happen to serve to distinguish between an operator and its operands. > Of course, because Joy is a restricted form of applicative language, > you can reason about things in ways you can't in the general case. > Perhaps there's something more fundamental I'm missing here that makes > Joy non-applicative. I think your example serves well enough, even though it doesn't actually include an example of an operand which is not ALSO an operator. > - John -Wm ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/concatenative/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/concatenative/join (Yahoo! ID required) <*> To change settings via email: mailto:[email protected] mailto:[email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/