Re: [stack] the concatenative wikipedia article
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jan 1, 2009 at 1:37 AM, William Tanksley, Jr <[email protected]> wrote: > Christopher Diggins <[email protected]> wrote: >> I just posted my newest definition of concatenative language at >> >> http://dobbscodetalk.com/index.php?option=com_myblog&show=What-is-a-Concatenative-Language.html&Itemid=29 >> with a deconstruction. I am happy to discuss it here (avoids the >> headache of having to register to leave comments). > > That's a good definition. Thanks. > 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. > 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. > I do suspect that the definition might be a little improved by > hybridizing it with your newest one, perhaps something like this: > > "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." > > Heh... That was simpler than I thought. > > 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. 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. >> Christopher > > -Wm