Re: Fwd: [stack] Concatenative Research

"William Tanksley, Jr" <[email protected]> Mon, 31 Jan 2011 12:08:26 -0800
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
Justin <[email protected]> wrote:
>John Carter <john.carter@...> wrote:
>> What may be interesting and useful would be to return to typed variables
>> (named values variety) and something like a SQL "natural join".
> I don't know what you mean. Could you give an example? (I don't have a
> good mental model of databases.)

I'm not certain, but I assumed he was implying that the compiler would
somehow just figure things out. It's hand-waving, but he admits it
hasn't been done yet.

> I am aware of three methods of passing data around:
> 1. stack manipulation
> 2. variable references (the stateful kind)
> 3. implicit state (think of the flags register in assembly)
> We can probably agree that (3) is usually a bad idea. Are there other methods? What else could a concatenative language do?

One can also pass data around in data structures; explicit ones, as
with Joy's lists; semi-implicit ones, as in Joy's 'dip' combinator;
and implicit ones, as in Forth's global dictionary. XY (one of Apter's
languages) adds a queue structure to represent source evaluation. It's
conceivable that some other structure could replace the stack, rather
than simply augmenting it.

A "language" which did nothing but join strings into one big string
would be concatenative in syntax and compositional in semantics,
although very boring in behavior -- and would replace the stack with a
string.

-Wm