Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Linux is obsolete (Andrew Tanenbaum)


devel / comp.lang.forth / Why have a search order?

SubjectAuthor
* Why have a search order?Brad Eckert
+* Re: Why have a search order?Hugh Aguilar
|`* Re: Why have a search order?Brad Eckert
| `* Re: Why have a search order?Brad Eckert
|  `- Re: Why have a search order?Hugh Aguilar
+* Re: Why have a search order?S Jack
|`- Re: Why have a search order?dxforth
`* Re: Why have a search order?Hans Bezemer
 `- Re: Why have a search order?dxforth

1
Why have a search order?

<abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14282&group=comp.lang.forth#14282

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:1a14:: with SMTP id bk20mr11061965qkb.481.1629505744102;
Fri, 20 Aug 2021 17:29:04 -0700 (PDT)
X-Received: by 2002:a05:6214:394:: with SMTP id l20mr23080905qvy.19.1629505743925;
Fri, 20 Aug 2021 17:29:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 20 Aug 2021 17:29:03 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2600:8800:1600:ae2:e00a:803a:5007:cbb0;
posting-account=6GCGIQoAAAAyO8IjR_VTwqiqLwx0Q_G8
NNTP-Posting-Host: 2600:8800:1600:ae2:e00a:803a:5007:cbb0
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
Subject: Why have a search order?
From: hwfw...@gmail.com (Brad Eckert)
Injection-Date: Sat, 21 Aug 2021 00:29:04 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Brad Eckert - Sat, 21 Aug 2021 00:29 UTC

One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?

Is the search order so much legacy baggage? An implementation artifact that goes away when there is no assembler?

The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.

Go figure.

Re: Why have a search order?

<f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14283&group=comp.lang.forth#14283

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:e50e:: with SMTP id e14mr11265754qkg.71.1629507142618;
Fri, 20 Aug 2021 17:52:22 -0700 (PDT)
X-Received: by 2002:ac8:43d6:: with SMTP id w22mr20175092qtn.92.1629507142471;
Fri, 20 Aug 2021 17:52:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 20 Aug 2021 17:52:22 -0700 (PDT)
In-Reply-To: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=98.165.8.214; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 98.165.8.214
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com>
Subject: Re: Why have a search order?
From: hughagui...@gmail.com (Hugh Aguilar)
Injection-Date: Sat, 21 Aug 2021 00:52:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 22
 by: Hugh Aguilar - Sat, 21 Aug 2021 00:52 UTC

On Friday, August 20, 2021 at 5:29:05 PM UTC-7, Brad Eckert wrote:
> One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
>
> Is the search order so much legacy baggage? An implementation artifact that goes away when there is no assembler?
>
> The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.
>
> Go figure.

The cross-compiler in MFX depended upon having CONTEXT and CURRENT vocabularies.
I don't have any use for the ANS-Forth word-list system. ANS-Forth was supposed to support
standard practice, but setting the context wid (as done in Forth-83 with CONTEXT ! of a
vocno) can't be done in ANS-Forth without a lot of extra code to emulate this feature.

Re: Why have a search order?

<81ced7ba-6575-48c9-a217-9d9016e14799n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14287&group=comp.lang.forth#14287

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:c69:: with SMTP id t9mr23663306qvj.28.1629517648701;
Fri, 20 Aug 2021 20:47:28 -0700 (PDT)
X-Received: by 2002:ac8:7352:: with SMTP id q18mr21107827qtp.5.1629517648529;
Fri, 20 Aug 2021 20:47:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 20 Aug 2021 20:47:28 -0700 (PDT)
In-Reply-To: <f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:8800:1600:ae2:e00a:803a:5007:cbb0;
posting-account=6GCGIQoAAAAyO8IjR_VTwqiqLwx0Q_G8
NNTP-Posting-Host: 2600:8800:1600:ae2:e00a:803a:5007:cbb0
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com> <f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <81ced7ba-6575-48c9-a217-9d9016e14799n@googlegroups.com>
Subject: Re: Why have a search order?
From: hwfw...@gmail.com (Brad Eckert)
Injection-Date: Sat, 21 Aug 2021 03:47:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3309
 by: Brad Eckert - Sat, 21 Aug 2021 03:47 UTC

On Friday, August 20, 2021 at 5:52:23 PM UTC-7, Hugh Aguilar wrote:
> On Friday, August 20, 2021 at 5:29:05 PM UTC-7, Brad Eckert wrote:
> > One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
> >
> > Is the search order so much legacy baggage? An implementation artifact that goes away when there is no assembler?
> >
> > The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.
> >
> > Go figure.
> The cross-compiler in MFX depended upon having CONTEXT and CURRENT vocabularies.
> I don't have any use for the ANS-Forth word-list system. ANS-Forth was supposed to support
> standard practice, but setting the context wid (as done in Forth-83 with CONTEXT ! of a
> vocno) can't be done in ANS-Forth without a lot of extra code to emulate this feature.

See, this is the kind of discussion we should have. Whatever happened to current and context being simple variables? Feature creep. No wonder Chuck walked out on the ANS TC.

Okay, create wordlists. There used to be a word for doing that and making a word with "context !" in its run-time semantics.
Wasn't it VOCABULARY? This search order business reminds me of Mickey Mouse in "The Sorcerer's Apprentice". Shit kind of got out of hand.

This is the problem with virtualizing everything. Now we have SET-CURRENT and GET-CURRENT instead of "current !" and "current @".
ANS came along with these abstractions to make everyone happy. It became design by committee. As you point out, ANS encumbered a good paradigm.

I drank the Kool Aid too, but then I noticed that Chuck Moore has even fewer entitlements than this in his colorForth.

Re: Why have a search order?

<b761b16b-5f6b-4763-93eb-c55905edcee9n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14288&group=comp.lang.forth#14288

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:5d3:: with SMTP id d19mr20860548qtb.211.1629518335060;
Fri, 20 Aug 2021 20:58:55 -0700 (PDT)
X-Received: by 2002:a0c:f88f:: with SMTP id u15mr3544966qvn.38.1629518334939;
Fri, 20 Aug 2021 20:58:54 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 20 Aug 2021 20:58:54 -0700 (PDT)
In-Reply-To: <81ced7ba-6575-48c9-a217-9d9016e14799n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:8800:1600:ae2:e00a:803a:5007:cbb0;
posting-account=6GCGIQoAAAAyO8IjR_VTwqiqLwx0Q_G8
NNTP-Posting-Host: 2600:8800:1600:ae2:e00a:803a:5007:cbb0
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
<f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com> <81ced7ba-6575-48c9-a217-9d9016e14799n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b761b16b-5f6b-4763-93eb-c55905edcee9n@googlegroups.com>
Subject: Re: Why have a search order?
From: hwfw...@gmail.com (Brad Eckert)
Injection-Date: Sat, 21 Aug 2021 03:58:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Brad Eckert - Sat, 21 Aug 2021 03:58 UTC

On Friday, August 20, 2021 at 8:47:29 PM UTC-7, Brad Eckert wrote:
> On Friday, August 20, 2021 at 5:52:23 PM UTC-7, Hugh Aguilar wrote:
> > On Friday, August 20, 2021 at 5:29:05 PM UTC-7, Brad Eckert wrote:
> > > One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
> > >
> > > Is the search order so much legacy baggage? An implementation artifact that goes away when there is no assembler?
> > >
> > > The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.
> > >
> > > Go figure.
> > The cross-compiler in MFX depended upon having CONTEXT and CURRENT vocabularies.
> > I don't have any use for the ANS-Forth word-list system. ANS-Forth was supposed to support
> > standard practice, but setting the context wid (as done in Forth-83 with CONTEXT ! of a
> > vocno) can't be done in ANS-Forth without a lot of extra code to emulate this feature.
> See, this is the kind of discussion we should have. Whatever happened to current and context being simple variables? Feature creep. No wonder Chuck walked out on the ANS TC.
>
> Okay, create wordlists. There used to be a word for doing that and making a word with "context !" in its run-time semantics.
> Wasn't it VOCABULARY? This search order business reminds me of Mickey Mouse in "The Sorcerer's Apprentice". Shit kind of got out of hand.
>
> This is the problem with virtualizing everything. Now we have SET-CURRENT and GET-CURRENT instead of "current !" and "current @".
> ANS came along with these abstractions to make everyone happy. It became design by committee. As you point out, ANS encumbered a good paradigm.
>
> I drank the Kool Aid too, but then I noticed that Chuck Moore has even fewer entitlements than this in his colorForth.

Although I just checked SwiftForth and you may indeed treat current and context as simple variables. Code that does this would declare a dependency.

Re: Why have a search order?

<5876357f-c602-4a77-8a59-f02a46585512n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14296&group=comp.lang.forth#14296

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:5551:: with SMTP id v17mr26133397qvy.11.1629566765949;
Sat, 21 Aug 2021 10:26:05 -0700 (PDT)
X-Received: by 2002:a37:9ed3:: with SMTP id h202mr9612199qke.184.1629566765803;
Sat, 21 Aug 2021 10:26:05 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 21 Aug 2021 10:26:05 -0700 (PDT)
In-Reply-To: <b761b16b-5f6b-4763-93eb-c55905edcee9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=98.165.8.214; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 98.165.8.214
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
<f24bf933-1431-44d4-840f-405e0934074bn@googlegroups.com> <81ced7ba-6575-48c9-a217-9d9016e14799n@googlegroups.com>
<b761b16b-5f6b-4763-93eb-c55905edcee9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5876357f-c602-4a77-8a59-f02a46585512n@googlegroups.com>
Subject: Re: Why have a search order?
From: hughagui...@gmail.com (Hugh Aguilar)
Injection-Date: Sat, 21 Aug 2021 17:26:05 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Hugh Aguilar - Sat, 21 Aug 2021 17:26 UTC

On Friday, August 20, 2021 at 8:58:55 PM UTC-7, Brad Eckert wrote:
> On Friday, August 20, 2021 at 8:47:29 PM UTC-7, Brad Eckert wrote:
> > On Friday, August 20, 2021 at 5:52:23 PM UTC-7, Hugh Aguilar wrote:
> > > On Friday, August 20, 2021 at 5:29:05 PM UTC-7, Brad Eckert wrote:
> > > > One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
> > > >
> > > > Is the search order so much legacy baggage? An implementation artifact that goes away when there is no assembler?
> > > >
> > > > The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.
> > > >
> > > > Go figure.
> > > The cross-compiler in MFX depended upon having CONTEXT and CURRENT vocabularies.
> > > I don't have any use for the ANS-Forth word-list system. ANS-Forth was supposed to support
> > > standard practice, but setting the context wid (as done in Forth-83 with CONTEXT ! of a
> > > vocno) can't be done in ANS-Forth without a lot of extra code to emulate this feature.
> > See, this is the kind of discussion we should have. Whatever happened to current and context being simple variables? Feature creep. No wonder Chuck walked out on the ANS TC.
> >
> > Okay, create wordlists. There used to be a word for doing that and making a word with "context !" in its run-time semantics.
> > Wasn't it VOCABULARY? This search order business reminds me of Mickey Mouse in "The Sorcerer's Apprentice". Shit kind of got out of hand.
> >
> > This is the problem with virtualizing everything. Now we have SET-CURRENT and GET-CURRENT instead of "current !" and "current @".
> > ANS came along with these abstractions to make everyone happy. It became design by committee. As you point out, ANS encumbered a good paradigm.
> >
> > I drank the Kool Aid too, but then I noticed that Chuck Moore has even fewer entitlements than this in his colorForth.
> Although I just checked SwiftForth and you may indeed treat current and context as simple variables. Code that does this would declare a dependency.

I have code in the novice-package that allows the context to be set similarly to how it was
set in Forth-83. This is ANS-Forth code, so it is not necessary to declare a dependency.
This is the code (see SET-CONTEXT for setting the context):
--------------------------------------------------------------------------
\ ******
\ ****** Some word-list stuff.
\ ******

: set-forth ( -- ) \ sets default configuration
only forth definitions ;

: <get-context> ( -- wid ) \ like CONTEXT @ in Forth-83 (ANS-Forth already provides GET-CURRENT)
get-order dup 1 < abort" *** GET-CONTEXT given empty search-order ***"
over >r \ r: -- top-wid
0 do drop loop \ --
r> ;

: <push-context> { wid -- }
get-order
wid swap 1+ \ put WID on top of whatever is there
set-order ;

\ <PUSH-CONTEXT> always pushes WID, even if WID is already the 1st. It has to be consistent in always pushing, so <POP-CONTEXT> can pop what was pushed.

: <pop-context> ( -- wid ) \ undo PUSH-CONTEXT and return the wid
get-order dup 1 < abort" *** POP-CONTEXT given empty search-order ***"
swap >r 1-
set-order
r> ;

: <drop-context> ( -- )
<pop-context> drop ;

\ <GET-CONTEXT> <PUSH-CONTEXT> <POP-CONTEXT> and <DROP-CONTEXT> don't take into consideration LOCALVARS# being in the way.

\ VFX pushes a wid called LOCALVARS onto the search order in colon words that have locals, then pops it off again at the semicolon.
\ It is in the way. If you set the 1st value to a replacement wid, you will replace LOCALVARS rather than the wid you thought you were replacing (which is now 2nd).
\ This is a gross violation of the ANS-Forth standard (13.3.3-1):
\ "...if the Search-Order word set is present, local identifiers shall always be searched before any of the word lists in any definable search order,
\ and none of the Search-Order words shall change the locals’ privileged position in the search order."

\ Note: Stephan Pelc fixed the bug mentioned above in version 4.71.3523 of Oct.8,2014.

\ The following definition of SET-CONTEXT works around the bug in VFX, and will also work in Forths that don't have the bug.

false value localvars# \ this is the wid that is 1st in the search-order inside of colon words that have local variables
marker temporary
false value expected# \ this is the wid that we are expecting to be 1st

: fill-localvars# ( -- ) \ this fills <LOCALVARS> at compile-time for use by <SET-CONTEXT> --- it doesn't do anything at run-time
true abort" *** FILL-LOCALVARS# is not to be run, it fills LOCALVARS# at compile-time ***"
[ <get-context> to expected# ]
1 2 3 locals| x y z |
[
<get-context> expected# <> [if]
<pop-context> to localvars#
<get-context> expected# <> [if] .( *** FILL-LOCALVARS# can't find EXPECTED# ***) abort [then]
localvars# <push-context> [then]
] ;

\ FILL-LOCALVARS# doesn't have to run --- it fills LOCALVARS# at compile-time.
temporary \ discard this code that fills LOCALVARS# at compile-time --- it is never needed again

: push-underneath { wid -- } \ push WID underneath whatever is 1st so WID becomes 2nd, leaving 1st as 1st
<pop-context> \ hold 1st
<get-context> wid <> if
wid <push-context> then \ don't push WID on top of itself (if WID was 2nd originally)
<push-context> ; \ push 1st back on top

: replace-1st ( wid -- )
push-underneath <drop-context> ; \ use PUSH-UNDERNEATH so WID is not duplicated if it already 2nd

: <set-context> { wid anchor -- }
<get-context> anchor = if \ if ANCHOR is 1st
wid anchor = if exit then \ WID is already 1st, so we are done
wid <push-context> \ push WID on top of ANCHOR, rather than replace ANCHOR
exit then
<get-context> localvars# = if \ if LOCALVARS# is 1st
<pop-context> \ -- localvars#
<get-context> anchor = if \ if ANCHOR is 2nd
wid <push-context> \ push WID on top of ANCHOR, rather than replace ANCHOR
else
wid replace-1st then \ else, replace 2nd with WID
<push-context> \ restore LOCALVARS# as 1st
exit then
wid replace-1st ; \ 1st was neither ANCHOR nor LOCALSVAR#, so we just replace 1st with WID (now GET-CONTEXT will give us WID)

: set-context ( wid -- )
forth-wordlist <set-context> ;

\ FORTH-WORDLIST SET-CONTEXT would do the same thing that FORTH does.

\ The following PUSH-CONTEXT POP-CONTEXT and DROP-CONTEXT take into account LOCALVARS#.
\ Use xxx PUSH-CONTEXT rather than ALSO xxx SET-CONTEXT because everything goes haywire if the ANCHOR is the 1st wid.
\ All in all, ALSO is a screw-ball idea because it involves making a duplicate on the search-order, which makes no sense.
\ Forth is supposed to be context-free, but ALSO only makes sense when it is followed by SET-CONTEXT (but not when the anchor is 1st).
\ In this 1993 comp.lang.forth thread: https://groups.google.com/forum/#!topic/comp.lang.forth/olO-VHXJa1Q
\ Ray Duncan (who sold UR/Forth back then), described ONLY/ALSO as "severely brain-damaged."
\ Apparently he had zero influence over ANS-Forth design though, because he gave up on Forth after ANS-Forth came out in 1994.

: get-context ( -- wid )
<get-context> \ -- 1st
dup localvars# = if drop \ --
<pop-context> <get-context> \ -- 1st 2nd
swap <push-context> then ; \ -- 2nd

: definitions ( -- ) \ the VFX version of DEFINITIONS has a bug in that it doesn't take LOCALVARS into consideration
get-context set-current ;

: push-context { wid -- }
<get-context> localvars# = if
<pop-context> wid <push-context> \ -- 1st
<push-context> \ --
else
wid <push-context> then ;


Click here to read the complete article
Re: Why have a search order?

<7ef72a0e-b313-4ab6-86c7-62a240ee9254n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14297&group=comp.lang.forth#14297

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:4048:: with SMTP id n69mr14469907qka.261.1629567325771;
Sat, 21 Aug 2021 10:35:25 -0700 (PDT)
X-Received: by 2002:ac8:4e44:: with SMTP id e4mr23492342qtw.252.1629567325628;
Sat, 21 Aug 2021 10:35:25 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 21 Aug 2021 10:35:25 -0700 (PDT)
In-Reply-To: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=208.180.225.218; posting-account=V5nGoQoAAAC_P2U0qnxm2kC0s1jNJXJa
NNTP-Posting-Host: 208.180.225.218
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7ef72a0e-b313-4ab6-86c7-62a240ee9254n@googlegroups.com>
Subject: Re: Why have a search order?
From: sdwjac...@gmail.com (S Jack)
Injection-Date: Sat, 21 Aug 2021 17:35:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: S Jack - Sat, 21 Aug 2021 17:35 UTC

On Friday, August 20, 2021 at 7:29:05 PM UTC-5, Brad Eckert wrote:
> One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?

I'm back to using simple Fig Forth vocabularies. Put everything in one bucket and not
worry about it. The only thing that search order gave me was management of order
concerns. No more search order now no more management needed.
--
me

Re: Why have a search order?

<810c9ef7-bd99-4bd9-beee-0a772ff05220n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14312&group=comp.lang.forth#14312

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:9244:: with SMTP id u65mr19051877qkd.46.1629672538199;
Sun, 22 Aug 2021 15:48:58 -0700 (PDT)
X-Received: by 2002:a0c:ff4b:: with SMTP id y11mr30626099qvt.50.1629672538004;
Sun, 22 Aug 2021 15:48:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 22 Aug 2021 15:48:57 -0700 (PDT)
In-Reply-To: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=82.95.228.79; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 82.95.228.79
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <810c9ef7-bd99-4bd9-beee-0a772ff05220n@googlegroups.com>
Subject: Re: Why have a search order?
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Sun, 22 Aug 2021 22:48:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Hans Bezemer - Sun, 22 Aug 2021 22:48 UTC

On Saturday, August 21, 2021 at 2:29:05 AM UTC+2, Brad Eckert wrote:
> One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
Not really. I've written lots of code - and I never missed vocabularies or namspaces. I think it gets pretty confusing pretty quickly. So I can well imagine he got rid of it.

Hans Bezemer

>
> Is the search order so much legacy baggage? An implementation artifact that goes away when there is no ass
>
> The context can just as well be one wordlist at all times, rather than a list of 0 or more wordlists. Amaze your friends with a search order! Yet, Charles H. Moore, the inventor of Forth has no use for it.
>
> Go figure.

Re: Why have a search order?

<sfv2q8$18a6$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14313&group=comp.lang.forth#14313

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!7AktqsUqy5CCvnKa3S0Dkw.user.46.165.242.75.POSTED!not-for-mail
From: dxfo...@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Why have a search order?
Date: Mon, 23 Aug 2021 12:57:12 +1000
Organization: Aioe.org NNTP Server
Message-ID: <sfv2q8$18a6$1@gioia.aioe.org>
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
<810c9ef7-bd99-4bd9-beee-0a772ff05220n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="41286"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Mon, 23 Aug 2021 02:57 UTC

On 23/08/2021 08:48, Hans Bezemer wrote:
> On Saturday, August 21, 2021 at 2:29:05 AM UTC+2, Brad Eckert wrote:
>> One thing that jumps out at me about Chuck's later Forths is the lack of search
>> order manipulation. Does it strike anyone else as strange, after Forth's decades
>> as a meta-language, or language for building languages, that colorForth does away
>> with all of that?

> Not really. I've written lots of code - and I never missed vocabularies or namspaces.
> I think it gets pretty confusing pretty quickly. So I can well imagine he got rid of it.
>

IIRC Moore said he adds things as he needs them. Perhaps colorForth as presented
had little need for that which prompted vocabularies/namespaces in the first place.
If Forth were a binary choice - ANS or colorForth - many would be screwed.

Re: Why have a search order?

<sfvfgk$164n$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=14315&group=comp.lang.forth#14315

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!7AktqsUqy5CCvnKa3S0Dkw.user.46.165.242.75.POSTED!not-for-mail
From: dxfo...@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Why have a search order?
Date: Mon, 23 Aug 2021 16:33:56 +1000
Organization: Aioe.org NNTP Server
Message-ID: <sfvfgk$164n$1@gioia.aioe.org>
References: <abecb483-af35-4abc-ba63-5a5eeb0def7cn@googlegroups.com>
<7ef72a0e-b313-4ab6-86c7-62a240ee9254n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="39063"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Mon, 23 Aug 2021 06:33 UTC

On 22/08/2021 03:35, S Jack wrote:
> On Friday, August 20, 2021 at 7:29:05 PM UTC-5, Brad Eckert wrote:
>> One thing that jumps out at me about Chuck's later Forths is the lack of search order manipulation. Does it strike anyone else as strange, after Forth's decades as a meta-language, or language for building languages, that colorForth does away with all of that?
>
> I'm back to using simple Fig Forth vocabularies. Put everything in one bucket and not
> worry about it. The only thing that search order gave me was management of order
> concerns. No more search order now no more management needed.

Implicit in vocabulary is the notion of a search order. To the extent
one is happy with the search order Fig-Forth imposes, fine. ColorForth
without vocabularies is itself an imposition.


devel / comp.lang.forth / Why have a search order?

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor