Re: [stack] Properties of Concatenative langauges and Forth

"pml060912" <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
--- In [email protected], "William Tanksley, Jr"
<wtanksleyjr@...> wrote:
>
> Christopher Diggins <cdiggins@...> wrote:
> > Forth without compile-time words isn't Turing-complete as far as I can
> > tell. I don't think you can just give it a pass. Can you even
> > construct a conditional expression in Forth without compile-time
> > words?
> 
> Sure, but you have to have some way of deferring a word inside a
> definition (i.e. getting a reference to a function rather than
> executing it). The "Furphy" language takes an approach like Joy's, by
> providing a quotation primitive and redesigning the control words to
> expect quotations on the stack rather than using compiling words...

No! I deliberately looked for an approach that did NOT need quotation
for just this sort of reason, i.e. to keep the base small and
extensible without making anything "special" so that higher level
behaviour would also remain consistent etc. I eventually found one in
the FREEZE and THAW matched pair of keywords (these can be implemented
using return stack manipulation keywords like R> and >R and don't even
need to be primitives). After that I provided quotation for code using
[ and ] as syntactic sugar, but it is not fundamental (see
http://users.beagle.com.au/peterl/furphy.html for more details).
.
.
.
> The ideal Joy-like language would have quotations, but keep them
> distinct from lists.

Furphy has a separate (and thus orthogonal) quotation system for data,
using { and } to package up items that other stuff generate for them
on the stack. There is also syntactic sugar to set up strings this way
using quotation marks.
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.