I reread that thread:
https://groups.google.com/group/comp.lang.forth/browse_thread/thread/c0fe67c350a5cec3
This thread is highly instructive! If anybody wants to understand
Forth, and the comp.lang.forth community, I would recommend reading
this thread --- everything that anybody needs to know about
comp.lang.forth can be found in this thread.
Here are a couple of quotes from the thread:
On Nov 26 2009, 1:13 am, Hugh Aguilar <
hugoagui...@rosycrew.com>
wrote:
> On Nov 25, 4:14 am,
an...@mips.complang.tuwien.ac.at (Anton Ertl)
> wrote:
>
> > >On Nov 25, 8:57=A0am, Hugh Aguilar <
hugoagui...@rosycrew.com> wrote:
> > >> I don't use gforth. What does that error message mean? What is a
> > >> "compile-only word?"
>
> > A word without interpretation semantics.
>
> > >It doesn't like you taking the address of ";" , though I don't
> > >understand why.
>
> > Because ";" has no execution or interpretation semantics. The
> > execution token returned by ['] represents the execution semantics,
> > but since ";" does not have that ...
>
> I don't understand how a word can not have execution semantics. That
> would be like a person not having a body --- we seem to be descending
> into mysticism.
On Dec 6 2009, 6:00 pm, Hugh Aguilar <
hugoagui...@rosycrew.com> wrote:
> On Dec 6, 5:30 pm, Jonah Thomas <
jethom...@gmail.com> wrote:
>
> > Hugh Aguilar <
hugoagui...@rosycrew.com> wrote:
> > > What you are describing doesn't make any sense at all. There is no
> > > such thing as a "dual-xt" Forth word!
>
> > There certainly can be. GForth has been described that way sometimes,
> > they set up the possibility of arranging GForth so that the special
> > words that cause trouble can have two different xt's and can give you a
> > different xt in different circumstances.
> ...
> The difference is that what I described --- two words, each with its
> own xt --- makes sense. The idea of a "dual-xt" word sounds like a
> schizophrenic nightmare.
And here is a quote from a recent thread on the Forth200x mailing list
(note how little has changed from 2009 to 2012):
From: Jenny <
jenny...@googlemail.com>
To:
fort...@yahoogroups.com
Sent: Tuesday, May 22, 2012 9:14 AM
Subject: [forth200x] Re: RfD: Drop execution semantics of LEAVE and
UNLOOP
--- In
fort...@yahoogroups.com, Bernd Paysan <bernd.paysan@...>
wrote:
> Am Freitag, 18. Mai 2012, 19:14:39 schrieb BruceMcF:
> >
> > The least intrusive reading that eliminates that seeming contradiction
> > is to read the definition of execution token as:
> >
> > "execution token:
> > A [^] type of [\^] value that identifies the execution semantics of
> > a definition."
> >
> > Then there is no contradiction. When only one xt is return by FIND,
> > that is the execution token that does in fact identify the execution
> > semantics. When different xt's are returned by FIND, the one returned
> > in compilation state *identifies* the execution semantics, and the one
> > returned in interpretation state identifies the interpretation
> > semantics.
> >
> > In addition to being the least intrusive reading, that reading is
> > *verified* be each and every definition for which interpretation
> > semantics are specified and so are execution semantics.
At this point I am thoroughly confused. If FIND can return two
different xt's according to STATE, which do ' and ['] return - the
interpretation semantics or the execution semantics?