[stack] Re: the concatenative wikipedia article
Adam <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Slava recently created a nice description of Concatenative languages in the following four articles: http://www.concatenative.org/wiki/view/Concatenative%20language http://www.concatenative.org/wiki/view/Concatenative%20language/Name%20code%20not%20values http://www.concatenative.org/wiki/view/Concatenative%20language/Multiple%20return%20values http://www.concatenative.org/wiki/view/Concatenative%20language/Concatenation%20is%20composition -Adam --- In [email protected], John Nowak <john@...> wrote: > > The Wikipedia article on concatenative languages has a number of > issues that I think should be addressed. I'm willing to make the > changes, but I'd like to make sure I'm not off-base first. > > I realize many of these concerns are rather tired at this point. I > apologize. However, that doesn't change the fact that they've gone > unresolved. Indeed, there seems to be almost a resistance to resolving > them. I personally think that the non-applicative style of programming > has important properties and that it would be great to have a term for > them so I could stop redefining "concatenative" every time I talk to > someone (including those knowledgeable about concatenative languages). > > Here are my issues with the article: > > 1. Concatenative should not be conflated with "stack-based". I have > already shown that the counter-examples are beyond mere curiosities. > > 2. It should be more clearly stressed that concatenative languages are > not applicative. The reduction of a concatenative expression is the > simplification of one function to another function (e.g. '1 2 + + ==> > 3 +'). Never is it necessary to deal with objects or application, and > much is gained by not doing so (as is mentioned at http://www.latrobe.edu.au/philosophy/phimvt/joy/j08cnt.htm) > . > > 3. There is no reason concatenative languages must use a postfix > syntax. A prefix syntax is also a valid approach. Other syntaxes are > useful (as I've shown recently with my infix construction syntax > similar to that of in FL and J) but ruled out by the need for > concatenation to always denote composition (which I think is probably > unfortunate). > > 4. Not all concatenative languages have parsing words or an equivalent > to macros. Talking about them here makes as much sense as talking > about macros on a page about applicative programming. > > 5. It should be stressed that concatenative languages are function- > level and pointfree. They also go beyond languages like Backus's FP in > that objects are entirely removed from the language; The expression > '3' represents a *function*, not an object. > > 6. I dislike the sentence "The term 'concatenative' is not universally > accepted as a particularly useful term". It's an objectively useful > term if some care is given to its definition; What's "universally > accepted" is unimportant. Hell, even Slava (who says it's unimportant) > has started concatenative.org (which lists C++ and Java as > "interesting languages"... ugh). > > So, should I make the changes or should I just define a new term so I > that can communicate with people without boring myself? I did like > Diggins's "compositional" suggestion which is more to the point; The > fact that it is already used in various vague ways doesn't disturb me > too much. > > Sorry for bringing this up *again*, but I'm trying to write a paper > and keep stumbling over how to describe what it is that I'm talking > about. > > - John >