Re: [stack] What does "concatenative" actually mean?
spir <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <20090306091942.656428a4@o> |
Le Thu, 05 Mar 2009 15:16:55 -0800, William Tanksley <[email protected]> s'exprima ainsi: > > Really? Does quotation not violate this? > > That's fair to ask... I'm not sure whether quotation is an "operation" > as such. I think it's a very academic question, since I think > "compositional" is of only pedagogical value. I would say that quotation is one aspect, or level, or kind, of meta-programming. It's taking a bit of program as object of the programitself, meaning as data. Like meta-linguistics [thus the term 'quotation' indeed (note that that is a quotation, and this is meta-linguistic discourse, too, and... ;-)]: <<"'Joke' has 3 phonemes and 4 letters.", she said.>> From this point of view, quotations, or similar tools, are not the same as plain programming where the raw materials are 'real' data only. And is afaik pretty rare in practice outside the field of stack-based/concatenative languages. Can a concatenative language live without quotations? In joy quotations are the materials of combinators, hence the answer seems to be no. There is something I do not understand. It seems that literal code and word names inside quoting marks are both called quotations: [1 2 3] [dup *] map :square dup * [1 2 3] [square] map Isn't there a worthful distinction here? The second version seems analog to first-class funcs. The first one looks a bit like lambdas, no ? Or is it really taking code "flesh" as data? Or code as data only really happens when one can tweaks its guts like in Lisp? Could a language like Joy live with only the second form? Wouldn't it even be good practice (--> factorization). denis ------ la vita e estrany