Sujet : Re: Toad using many vocabularies
De : ruvim.pinka (at) *nospam* gmail.com (Ruvim)
Groupes : comp.lang.forthDate : 01. Nov 2024, 16:14:45
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vg2r95$33mjv$3@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 2024-11-01 18:28, Ruvim wrote:
On 2024-11-01 16:06, Stephen Pelc wrote:
On 31 Oct 2024 at 17:30:45 CET, "mhx" <mhx> wrote:
It is also messy to write a definition that needs
words from different vocabularies.
( Like a book with footnotes that span multiple pages,
or where a chapter can not be read on its own. )
>
How did you solve that complexity?
>
Gerald Wodni implemented the VOC-DOT notation for VFX as a
recogniser. To reference a word in another vocabulary, just use
<voc>.<word>
This notation has proven to be very useful, especially when dealing
with a range of byte-oriented serial devices, e.g:
i2c.emit
spi.emit
>
The notation also reads well. I have no idea who invented it originally
and where the original source code is.
Such a syntax is used in SP-Forth/4 since 2001, in the form <voc>::<word> or <voc1>::<voc2>::<word>
Where <voc> is a word that returns wid, or a word that is created with `vocabulary`.
This syntax in SP-Forth probably came after C++ "::" operator, introduced in 1998. The same operator was in C# from its initial release in 2000.
The dot "." operator for accessing nested packages in Java was introduced in 1995.
In Forth, a dot is often used as part of plain names, so it was less suitable as a namespace separator.
Another piece of history.
In Tcl, the sequence "::" for accessing namespaces was introduced in 1997[1].
In Erlang, the sequence ":" (sic one colon) for accessing namespaces (which are essentially modules) was since its initial release in 1995.
[1] <
http://tcl.tk/software/tcltk/8.0.html#incompatibilities>
-- Ruvim