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