Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ruvim Newsgroups: comp.lang.forth Subject: Re: Toad using many vocabularies Date: Fri, 1 Nov 2024 19:14:45 +0400 Organization: A noiseless patient Spider Lines: 55 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 01 Nov 2024 16:14:46 +0100 (CET) Injection-Info: dont-email.me; posting-host="ccad98937f2c7e2e7d9efbf07e4d468c"; logging-data="3267199"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MQeYY+wk6qzs/cuqjMmiH" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:+cO+EnMVB6cB377DM2ZbwPSTslE= In-Reply-To: Content-Language: en-US Bytes: 2894 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" 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 >>    . >> 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 > :: or :::: > > Where 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] -- Ruvim