Re: [stack] What does "concatenative" actually mean?

William Tanksley <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <1236267510.32020.3698.camel@tanksley>
spir wrote:
> good even without CS background. There may be some improvements: eg
> now I cannot make any difference between "concatenative" and
> "compositional" ;-)

The term Compositional has been used before to describe concatenative
languages. By the FAQ's definition, all concatenative languages are
compositional, but not vice versa (Haskell has a subset that's
compositional by that definition, but isn't concatenative because the
composition operator is explicit).

There are three reasons why I don't recommend using the term
compositional outside of pedagogy.

First, it's a very theoretical and pure definition: it requires that the
ONLY operation be composition. There's not much you can sneak past that.
We've since developed definitions of concatenativity that seem to be a
lot more flexible, allowing us to have a concept of pure versus impure
concatenative languages. This also implies that we can define a
concatenative language that's not compositional.

Second, there are no studied benefits to compositional languages that
aren't also present in concatenative languages, and concatenative
languages have the huge benefit of token associativity that's not
present in compositional languages with explicit composition operators.

Third, the term is already in use: a compositional language is one whose
facilities are mainly intended to help the programmer tie applications
written in other languages together.

> denis

-Wm
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.