/ dot-name /

.NAME

brief description:

There is no consensus about .NAME .
See also the HEADER word set in
wordset/header-uext/ . (mlg)


description:

".NAME" is not specified in any standard document,
but it is found in almost any forth implementation.
It is commonly defined to print the string to be
found at a NFA.

The actual of implementation of a forth name is
not strictly specified. The classic implementation
uses a counted string where some of the higher bits
are used to flag immediate and smudge attributes.
These bits must be masked away before the string
can be printed to the screen.


discussion:


> Christophe Lavarenne wrote:
> > Another (non ANS-standard) incompatibility between Gforth and W32for
> > is `.NAME', which takes an NFA (alias nt or name-token) under Gforth,
> > whereas it takes a CFA (alias xt or execution-token) under W32for.

> Anton Ertl wrote:
> > Bernd Paysan wrote:
> > For .NAME, we should investigate a bit more. xt >NAME .NAME is quite
> > common. PFE does it that way, too; it looks like it's inherited from F83.
> I am just looking at the F83 sources: it has .ID ( nfa -- ) (i.e.,
> like our .NAME and fig_forth's ID.) and no ".NAME" or "NAME.".  So
> what we could do to avoid this conflict is to rename our .NAME to
> ID. and/or .ID.

> Guido Draheim wrote:
> On the other hand, I do not particularly know where .NAME came from, the
> things I have here do *not* actually point to F83 either. But I guess
> it must be related to '83 times - it is simply the natural definition
> with all of the f83-like things named >BODY and >NAME, and people did
> still need sth. like ID. from fig times. And that is where the
> incompatiblities may have been all about, since .NAME may be found
> almost everywhere, but they were "inventented" independently, so some
> were to make it based 'xt' as it was suggested as a general rule,
> or just using the old fig-like behaviour that you have to go to NAME
> first before you can print what the resulting NFA points to. Anyway,
> that's just wild guessing anyway, let's have ID. back, it has a defined
> almost-standardized execution ("print the NFA"), so it is very very
> improbable to be differently implemented anywhere.

> Gary Chason wrote:
>  Guido Draheim wrote:
>> About a year ago, Anton Ertl, Tom Zimmer and myself agreed on "ID.",
>> the relevant quotes from (off-NG) e-mails are published under the
>> above URL.
>  I also use ID. and $ID pushes the name on the string stack
>  which is much more useful.

>> Marcel Hendrix wrote:
>> I'm sorry, but this is a most uninformative page. It isn't even possible to
>> deduce the stackeffect of the extension being 'discussed'. Less, but better
>> chosen, words -- everywhere :-)
> it is:   ID. ( nfa -- )
> and therefore: ' WHAT >NAME ID.
> while .NAME may sometimes be defined differently like in win32for
> where it is .NAME ( xt -- ) [most other forths have it same as ID.]




$Id: index-v.txt,v 1.3 2001/11/10 13:26:53 mlg-r Exp $

generated Wed Jul 23 02:53:34 2003mlg