Re: [stack] the concatenative wikipedia article
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Jan 13, 2009, at 7:29 AM, pml060912 wrote:
> Well, where does Furphy fit in this breakdown?
> (http://users.beagle.com.au/peterl/furphy.html)
>
> Although it does have quotation, as I mentioned elsewhere that's just
> syntactic sugar. The fundamental constructs are Reverse Polish naming
> and concatenation, which can use the complementary keywords FREEZE and
> THAW to defer and invoke evaluation/execution - and those can be built
> from the return stack manipulation keywords R> and >R already found in
> Forth. That looks fairly associative/flat to me.
Interesting!
Here are the semantics I'd use (in a more Joy-like, single-stack
context):
freeze F -> [F] F
F [G] thaw -> G
This is the first time I've had a rewrite rule with a "row" on the
*right* side of the function.
What 'freeze' would basically do is take the rest of the program and
return a new program that is prefixed with a quoted version of itself.
What 'thaw' would do is take a program 'F' with a quotation '[G]' on
top and return the new program 'G'. This seems like something that
could be added to a Joy-like language very simply (excepting that
pesky "implementation" part).
This sounds a lot like XY:
http://www.nsl.com/k/xy/xy.htm
- John