[stack] Re: the concatenative wikipedia article
"Adam" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Also, concatenative.org is editable by the public as well if you register. --- In [email protected], Adam <hiatoms@...> wrote: > > 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 > > >