Re: [stack] the concatenative wikipedia article
"William Tanksley, Jr" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Christopher Diggins <[email protected]> wrote: > William Tanksley, Jr <[email protected]> wrote: >> I did like the one you posted in the last thread, though; the one I >> listed as #2 in my list above. I like the fact that it explicitly >> mentions concatenation (making the rationale for the name clear), > I think that "juxtaposition of terms" is almost synonymous with > concatenation. For a computer scientist familiar with language theory > the terminology juxtaposition is more immediately recognizable. This > is the terminology used by more than one expert in the field. Okay, I grant that there's value in the word "juxtaposition" (unlike "concatenate", it allows whitespace to be interposed). Accepted. >> and >> it also depends on the concept of associativity, which directly drives >> the ability to easily factor. > I agree that the associative property of function composition drives > some of the interesting characteristics of the class of languages, but > I think this is not necessary in the formal definition, but is a > statement about why we are interested. Logically speaking, it is necessary; you're implying below that it's not sufficient. It's kind of nice to have the definition touch on one of the main interesting properties of the language being defined, don't you think? It's worth mentioning that Nowak's original language wasn't concatenative because it isn't associative; it actually DOES use composition. >> "A concatenative programming language is language in which terms >> correspond to functions and in which the juxtaposition of terms >> denotes an associative operation on functions." >> Is it TOO general? It seems to me to cover all the cases, even the >> non-interesting ones (such as where the operation is multiplication). > I think it is too general. There are no interesting languages that I > know of that don't use composition as the fundamental operation. I > think restricting the definition to composition helps keep the class > of languages more useful, and makes the relation to traditional > functional languages more obvious. Well, I may have to accept that, since I like your definition. I'm just not sure about it -- we do know that other operators are possible, we just don't know of any interesting ones. > My goal is to relate concatenative languages to functional languages, > especially the lambda calculus. I think this will help spur serious > study of the languages. By all means. I like your definition well enough to support it as the official definition. I do think the Wikipedia page should discuss some ways of testing for concatenativity. -Wm