Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Heisenberg may have been here.


devel / comp.lang.forth / Re: Another example of factoring and locals

SubjectAuthor
* Another example of factoring and localsAnton Ertl
`* Re: Another example of factoring and localsdxforth
 `* Re: Another example of factoring and localsAnton Ertl
  `* Re: Another example of factoring and localsdxforth
   `* Re: Another example of factoring and localsHans Bezemer
    `* Re: Another example of factoring and localsAnton Ertl
     `* Re: Another example of factoring and localsdxforth
      +* Re: Another example of factoring and localsPaul Rubin
      |+* Re: Another example of factoring and localsminf...@arcor.de
      ||+* Re: Another example of factoring and localsHans Bezemer
      |||+* Re: Another example of factoring and localsPaul Rubin
      ||||`* Re: Another example of factoring and localsdxforth
      |||| `* Re: Another example of factoring and localsPaul Rubin
      ||||  `* Re: Another example of factoring and localsdxforth
      ||||   `* Re: Another example of factoring and localsPaul Rubin
      ||||    +* Re: Another example of factoring and localsdxforth
      ||||    |+* Re: Another example of factoring and localsMarcel Hendrix
      ||||    ||`* Re: Another example of factoring and localsPaul Rubin
      ||||    || `* Re: Another example of factoring and localsdxforth
      ||||    ||  `- Re: Another example of factoring and localsMarcel Hendrix
      ||||    |+* Re: Another example of factoring and localsS Jack
      ||||    ||`- Re: Another example of factoring and localsdxforth
      ||||    |`* Re: Another example of factoring and localsPaul Rubin
      ||||    | +* Re: Another example of factoring and localsdxforth
      ||||    | |+* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||+* Re: Another example of factoring and localsDoug Hoffman
      ||||    | |||+* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||+- Re: Another example of factoring and localsnone
      ||||    | ||||`* Re: Another example of factoring and localsDoug Hoffman
      ||||    | |||| +- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | |||| +- Re: Another example of factoring and localsdxforth
      ||||    | |||| `* Re: Another example of factoring and localsdxforth
      ||||    | ||||  `* Re: Another example of factoring and localsDoug Hoffman
      ||||    | ||||   `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    +- Re: Another example of factoring and localsHans Bezemer
      ||||    | ||||    +- Re: Another example of factoring and localsBrian Fox
      ||||    | ||||    +* Re: Another example of factoring and localsDoug Hoffman
      ||||    | ||||    |`* Re: Another example of factoring and localsdxforth
      ||||    | ||||    | `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |  `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |   `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |    `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |     `* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    |      `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |       `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |        `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |         `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |          `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |           +* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    |           |+- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |           |`- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |           `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            +* Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |`* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    |            | +- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            | +- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            | `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  +* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |  |+* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |  ||`* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |  || `- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |  |`* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  | +- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |  | `* Re: Another example of factoring and localsHans Bezemer
      ||||    | ||||    |            |  |  `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  |   `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |  |    `- Re: Another example of factoring and localsdave thompson 2
      ||||    | ||||    |            |  `* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    |            |   `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |    `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |     +- Re: Another example of factoring and localsnone
      ||||    | ||||    |            |     `- Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            +* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |+- Re: Another example of factoring and localsnone
      ||||    | ||||    |            |`- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            +- Re: Another example of factoring and localsnone
      ||||    | ||||    |            +* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |+- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |`* Re: Another example of factoring and localsHans Bezemer
      ||||    | ||||    |            | `* Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |  +* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  |`* Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |  | +* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |  | |+- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |  | |`- Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  | `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |  |  `- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | ||||    |            |  `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |   `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |    `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |     `* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |      +* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |      |`* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |      | `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |      |  +* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    |            |      |  |`- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |      |  +* Re: Another example of factoring and localsAnton Ertl
      ||||    | ||||    |            |      |  |`* Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |      |  | `* Re: Another example of factoring and localsnone
      ||||    | ||||    |            |      |  |  `- Re: Another example of factoring and localsdxforth
      ||||    | ||||    |            |      |  `* Re: Another example of factoring and localsPaul Rubin
      ||||    | ||||    |            |      `* Re: Another example of factoring and localsnone
      ||||    | ||||    |            +* Re: Another example of factoring and localsLars Brinkhoff
      ||||    | ||||    |            `* Re: Another example of factoring and localsdxforth
      ||||    | ||||    +- Re: Another example of factoring and localsHans Bezemer
      ||||    | ||||    +* Re: Another example of factoring and localsMarcel Hendrix
      ||||    | ||||    +- Re: Another example of factoring and localsHans Bezemer
      ||||    | ||||    +- Re: Another example of factoring and localsP Falth
      ||||    | ||||    `- Re: Another example of factoring and localsminf...@arcor.de
      ||||    | |||`* Re: Another example of factoring and localsHans Bezemer
      ||||    | ||+- Re: Another example of factoring and localsdxforth
      ||||    | ||`* Re: Another example of factoring and localsHans Bezemer
      ||||    | |`- Re: Another example of factoring and localsnone
      ||||    | +- Re: Another example of factoring and localsStephen Pelc
      ||||    | `* Re: Another example of factoring and localsantispam
      ||||    +- Re: Another example of factoring and localsHans Bezemer
      ||||    `- Re: Another example of factoring and localsHans Bezemer
      |||`* Re: Another example of factoring and localsGerry Jackson
      ||`* Re: Another example of factoring and localsPaul Rubin
      |+- Re: Another example of factoring and localsHans Bezemer
      |`* Re: Another example of factoring and localsdxforth
      `* Re: Another example of factoring and localsHans Bezemer

Pages:123456789
Re: Another example of factoring and locals

<tk512n$1s92$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Sat, 5 Nov 2022 17:49:59 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk512n$1s92$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<74d9d175-1aea-4eef-9ccd-d2417cd9950bn@googlegroups.com>
<874jvn74e3.fsf@nightsong.com> <tjic8e$qbm$1@gioia.aioe.org>
<87v8o25nhu.fsf@nightsong.com> <tjklqe$g5m$1@gioia.aioe.org>
<87r0yp6fdk.fsf@nightsong.com> <tjl4rl$fmb$1@gioia.aioe.org>
<87ilk06ffc.fsf@nightsong.com> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.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="61730"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Sat, 5 Nov 2022 06:49 UTC

On 5/11/2022 2:51 pm, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> Oh, I'd say organized Forth is absolutely dead. I agree with your
>> last line.
>
> Well, what was organized Forth trying to do when it was alive? Was it
> trying to crank out working code by hook or by crook, or was it trying
> to pursue a vision of stack combinator purity? If it was merely trying
> to crank out code, I still think locals help with that, and haven't seen
> persuasive reasoning to the contrary.

According to Forth Inc it was quite successful in the Moore era. Can't
say the same for the standardization efforts which was language created
by committee.

> And Moore sometimes seems to be operating
> in a different world than the rest of us.

He did say he didn't create Forth for you. What you do with it is your
business.

Re: Another example of factoring and locals

<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:5090:b0:4bb:a8a1:d1e4 with SMTP id kk16-20020a056214509000b004bba8a1d1e4mr35731571qvb.63.1667643712878;
Sat, 05 Nov 2022 03:21:52 -0700 (PDT)
X-Received: by 2002:a81:500a:0:b0:36c:13d5:b516 with SMTP id
e10-20020a81500a000000b0036c13d5b516mr37612019ywb.70.1667643712675; Sat, 05
Nov 2022 03:21:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Sat, 5 Nov 2022 03:21:52 -0700 (PDT)
In-Reply-To: <tk512n$1s92$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:2511:6a3a:b7d:fe3d;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:2511:6a3a:b7d:fe3d
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <74d9d175-1aea-4eef-9ccd-d2417cd9950bn@googlegroups.com>
<874jvn74e3.fsf@nightsong.com> <tjic8e$qbm$1@gioia.aioe.org>
<87v8o25nhu.fsf@nightsong.com> <tjklqe$g5m$1@gioia.aioe.org>
<87r0yp6fdk.fsf@nightsong.com> <tjl4rl$fmb$1@gioia.aioe.org>
<87ilk06ffc.fsf@nightsong.com> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com> <tk512n$1s92$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Sat, 05 Nov 2022 10:21:52 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2247
 by: Marcel Hendrix - Sat, 5 Nov 2022 10:21 UTC

On Saturday, November 5, 2022 at 7:50:11 AM UTC+1, dxforth wrote:
[..]
> He did say he didn't create Forth for you. What you do with it is your
> business.

That effectively kills all discussion. What does it matter then
what he said, or what you or I say?

-marcel

Re: Another example of factoring and locals

<tk5gv2$1thj$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Sat, 5 Nov 2022 22:21:06 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk5gv2$1thj$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<74d9d175-1aea-4eef-9ccd-d2417cd9950bn@googlegroups.com>
<874jvn74e3.fsf@nightsong.com> <tjic8e$qbm$1@gioia.aioe.org>
<87v8o25nhu.fsf@nightsong.com> <tjklqe$g5m$1@gioia.aioe.org>
<87r0yp6fdk.fsf@nightsong.com> <tjl4rl$fmb$1@gioia.aioe.org>
<87ilk06ffc.fsf@nightsong.com> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@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="63027"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Sat, 5 Nov 2022 11:21 UTC

On 5/11/2022 9:21 pm, Marcel Hendrix wrote:
> On Saturday, November 5, 2022 at 7:50:11 AM UTC+1, dxforth wrote:
> [..]
>> He did say he didn't create Forth for you. What you do with it is your
>> business.
>
> That effectively kills all discussion. What does it matter then
> what he said, or what you or I say?

ISTM Paul did that when he said Moore was "operating in a different
world to the rest of us". Paul has all but said that he won't use
Forth unless he can use locals. What can one say to that? It would
appear ANS TC was similarly pressured:

A.13

"It has been further argued that users who have elected to become
dependent on locals tend to be locked into a single vendor and have
little motivation to join the group that it is hoped will broadly
accept ANS Forth unless the Standard addresses their problems."

There's certainly no "purity" there - just the promise of supporters
for ANS if the TC acquiesced.

Re: Another example of factoring and locals

<874jvd2ita.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Sat, 05 Nov 2022 14:27:29 -0700
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <874jvd2ita.fsf@nightsong.com>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjklqe$g5m$1@gioia.aioe.org> <87r0yp6fdk.fsf@nightsong.com>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: reader01.eternal-september.org; posting-host="038bd61b076a05039636db3f1cf94d83";
logging-data="2816895"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191Dx3Hv9fY/qNqiUguobqv"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:5SMn/8eAspZJzwR377UdQ/JAy5k=
sha1:CBCkmGBtDa++Elq9UjjCi3sKZNY=
 by: Paul Rubin - Sat, 5 Nov 2022 21:27 UTC

dxforth <dxforth@gmail.com> writes:
> ISTM Paul did that when he said Moore was "operating in a different
> world to the rest of us". Paul has all but said that he won't use
> Forth unless he can use locals.

I haven't said that, I've said that I find locals make Forth easier for
me to use. I find Forth difficult compared with other languages even
with locals, but I use it for some things anyway because it is
interesting.

> There's certainly no "purity" there - just the promise of supporters
> for ANS if the TC acquiesced.

The TC was an industry group, I thought. As far as I can tell, the
opposition to locals is more from an artistic perspective than an
engineering one. I'm fine with doing stuff for artistic reasons, but I
had imagined that the TC's audience was more concerned with
practicality.

Re: Another example of factoring and locals

<tk722u$1jq1$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Sun, 6 Nov 2022 12:19:26 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk722u$1jq1$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjklqe$g5m$1@gioia.aioe.org> <87r0yp6fdk.fsf@nightsong.com>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="53057"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Sun, 6 Nov 2022 01:19 UTC

On 6/11/2022 8:27 am, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> ISTM Paul did that when he said Moore was "operating in a different
>> world to the rest of us". Paul has all but said that he won't use
>> Forth unless he can use locals.
>
> I haven't said that, I've said that I find locals make Forth easier for
> me to use. I find Forth difficult compared with other languages even
> with locals, but I use it for some things anyway because it is
> interesting.

Just about every introductory text to Forth says to minimize variables
and your response is you find it too difficult.

>> There's certainly no "purity" there - just the promise of supporters
>> for ANS if the TC acquiesced.
>
> The TC was an industry group, I thought. As far as I can tell, the
> opposition to locals is more from an artistic perspective than an
> engineering one.

RM:
Do you consider yourself a scientist, an engineer, an artist or a craftsman?

CM:
I put ‘engineer’ in the box on forms. Sometimes I put ‘computer engineer’
in a big box.

> I'm fine with doing stuff for artistic reasons, but I
> had imagined that the TC's audience was more concerned with
> practicality.

Looks to me they were more interested in numbers. Not that it got them
many 'happy campers' given the ensuing furore of type of locals. Such
is politics.

Re: Another example of factoring and locals

<87zgd41up3.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Sat, 05 Nov 2022 23:08:24 -0700
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <87zgd41up3.fsf@nightsong.com>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: reader01.eternal-september.org; posting-host="be7f061267c365ccacf3da36fa318699";
logging-data="3128326"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX195vdL0f1AfjCF8GGt1/Z2v"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:2g3YirIj9eg2OsK7vMCr4eYQ/io=
sha1:D3cowbgcypcaq905FUPJpNfJHq8=
 by: Paul Rubin - Sun, 6 Nov 2022 06:08 UTC

dxforth <dxforth@gmail.com> writes:
> Just about every introductory text to Forth says to minimize variables
> and your response is you find it too difficult.

If you mean VARIABLEs then of course I want to minimize those. I'm not
trying to be a wise-acre but I have thought of VARIABLEs and locals as
distinct things. Locals get rid of the need for (some) variables.

> Looks to me they [the TC] were more interested in numbers. Not that
> it got them many 'happy campers' given the ensuing furore of type of
> locals. Such is politics.

I don't see the downside. The compromise basically was to add (LOCAL)
to implementations that didn't already have it. That's a new primitive,
but the other stuff can be done in terms of it using Forth words. I
hope that implementing (LOCAL) didn't cause anyone too much pain. Once
it was there, nobody was required to use it, but it was available for
those who wanted it.

Re: Another example of factoring and locals

<tk7sah$1cne$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Sun, 6 Nov 2022 19:47:13 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk7sah$1cne$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.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="45806"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Sun, 6 Nov 2022 08:47 UTC

On 6/11/2022 5:08 pm, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> Just about every introductory text to Forth says to minimize variables
>> and your response is you find it too difficult.
>
> If you mean VARIABLEs then of course I want to minimize those. I'm not
> trying to be a wise-acre but I have thought of VARIABLEs and locals as
> distinct things.

That may be true of other languages which rely on locals as a mechanism
for parameter passing. It's not true of Forth which uses the stack for
that. In Forth, locals are just variables to be avoided.

>> Looks to me they [the TC] were more interested in numbers. Not that
>> it got them many 'happy campers' given the ensuing furore of type of
>> locals. Such is politics.
>
> I don't see the downside. The compromise basically was to add (LOCAL)
> to implementations that didn't already have it. That's a new primitive,
> but the other stuff can be done in terms of it using Forth words. I
> hope that implementing (LOCAL) didn't cause anyone too much pain. Once
> it was there, nobody was required to use it, but it was available for
> those who wanted it.

Yes - for those who hadn't grasped the difference between Forth and other
languages. I'll admit it - I was one of them. The mere inclusion of locals
in ANS-Forth had me fooled. For quite a long time I thought locals were
a part of Forth - until a chance reading of a post by Jeff Fox.

Re: Another example of factoring and locals

<202a6216-154d-4422-82e2-b5e2899f4a3fn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1c85:b0:4c5:6ed:b914 with SMTP id ib5-20020a0562141c8500b004c506edb914mr5316673qvb.0.1667740531099;
Sun, 06 Nov 2022 05:15:31 -0800 (PST)
X-Received: by 2002:a81:c11:0:b0:36a:bcf0:6340 with SMTP id
17-20020a810c11000000b0036abcf06340mr42232057ywm.467.1667740530939; Sun, 06
Nov 2022 05:15:30 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Sun, 6 Nov 2022 05:15:30 -0800 (PST)
In-Reply-To: <tk7sah$1cne$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:c051:b809:c20a:c9e1;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:c051:b809:c20a:c9e1
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjl4rl$fmb$1@gioia.aioe.org>
<87ilk06ffc.fsf@nightsong.com> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <202a6216-154d-4422-82e2-b5e2899f4a3fn@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Sun, 06 Nov 2022 13:15:31 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2542
 by: Marcel Hendrix - Sun, 6 Nov 2022 13:15 UTC

On Sunday, November 6, 2022 at 9:47:16 AM UTC+1, dxforth wrote:
> On 6/11/2022 5:08 pm, Paul Rubin wrote:
> > dxforth <dxf...@gmail.com> writes:
> Yes - for those who hadn't grasped the difference between Forth and other
> languages. I'll admit it - I was one of them. The mere inclusion of locals
> in ANS-Forth had me fooled. For quite a long time I thought locals were
> a part of Forth - until a chance reading of a post by Jeff Fox.

Did any of Jeff's Forth code get archived somewhere? I never was able
to find anything he actually wrote himself.

-marcel

Re: Another example of factoring and locals

<tk9fq2$1ohl$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Mon, 7 Nov 2022 10:25:55 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk9fq2$1ohl$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org>
<202a6216-154d-4422-82e2-b5e2899f4a3fn@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="57909"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Sun, 6 Nov 2022 23:25 UTC

On 7/11/2022 12:15 am, Marcel Hendrix wrote:
> On Sunday, November 6, 2022 at 9:47:16 AM UTC+1, dxforth wrote:
>> On 6/11/2022 5:08 pm, Paul Rubin wrote:
>>> dxforth <dxf...@gmail.com> writes:
>> Yes - for those who hadn't grasped the difference between Forth and other
>> languages. I'll admit it - I was one of them. The mere inclusion of locals
>> in ANS-Forth had me fooled. For quite a long time I thought locals were
>> a part of Forth - until a chance reading of a post by Jeff Fox.
>
> Did any of Jeff's Forth code get archived somewhere? I never was able
> to find anything he actually wrote himself.

There's LZ-4TH.ZIP and ISING.ARC in the Taygeta forth archives from the
late 80's. From his later period there were his chip emulators which should
be available from his web pages. Like Moore, very little application code
seems to have made it into the public domain. I suppose one could say the
same of other commercial developers...

Re: Another example of factoring and locals

<tk9tv2$1too$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Mon, 7 Nov 2022 14:27:29 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tk9tv2$1too$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjl4rl$fmb$1@gioia.aioe.org> <87ilk06ffc.fsf@nightsong.com>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org>
<202a6216-154d-4422-82e2-b5e2899f4a3fn@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="63256"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Mon, 7 Nov 2022 03:27 UTC

On 7/11/2022 12:15 am, Marcel Hendrix wrote:
> On Sunday, November 6, 2022 at 9:47:16 AM UTC+1, dxforth wrote:
>> On 6/11/2022 5:08 pm, Paul Rubin wrote:
>>> dxforth <dxf...@gmail.com> writes:
>> Yes - for those who hadn't grasped the difference between Forth and other
>> languages. I'll admit it - I was one of them. The mere inclusion of locals
>> in ANS-Forth had me fooled. For quite a long time I thought locals were
>> a part of Forth - until a chance reading of a post by Jeff Fox.
>
> Did any of Jeff's Forth code get archived somewhere? I never was able
> to find anything he actually wrote himself.

If it's 'local-less' code that you want to see, I believe there's plenty
of that about already. SwiftForth sources contain relatively few instances
of locals, often around parameter-heavy API calls. According to an old
post by Elizabeth I happened to see, SwiftX doesn't support locals at all.

Re: Another example of factoring and locals

<87r0yf1ilv.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Sun, 06 Nov 2022 20:41:48 -0800
Organization: A noiseless patient Spider
Lines: 75
Message-ID: <87r0yf1ilv.fsf@nightsong.com>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: reader01.eternal-september.org; posting-host="aaa6411e924e7398e6b8a0636aec8031";
logging-data="3703577"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Ht/EKrzBDX5GDtogoXOyp"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:x/Vkq1krXR3aywAO/eG4e3Mv/P8=
sha1:JAi4LnVTLCAA2M59H7wVn3Z9R9U=
 by: Paul Rubin - Mon, 7 Nov 2022 04:41 UTC

dxforth <dxforth@gmail.com> writes:
> For quite a long time I thought locals were a part of Forth - until a
> chance reading of a post by Jeff Fox.

It might have been this (3 parts): http://www.ultratechnology.com/forth.htm

A very interesting article. I read it some years ago (it's one of the
things that got/kept me interested in Forth) and I just re-read it. It
contains wisdom that can be learned from but that I think shouldn't be
taken too literally.

Among other ideas in the article:

- Optimizing compilers are too complicated. It's better for your
compiler/interpreter to make slow code just to make the implementation
simpler, because you if your applications are minimalistic enough,
they will run fast anyway.

- Blocks instead of files. I thought this one had resolved some decades ago.

- No floating point arithmetic. Used scaled integers instead, and
concoct your own measurement units in your app to make the scaled
arithmetic work out efficiently. He quotes Chuck regarding OKAD:

I originally chose mV for internal units. But using 6400 mV = 4096
units replaces a divide with a shift and requires only 2 multiplies
per transistor.

- Tail recursion instead of loops. Ok, Haskellers like this too. But I
thought someone was complaining about it here on clf just recently.

- "Face the problem, think about it until you can picture the solution
as about 1K of code or less. Until then you don't really understand it."

- Eliminate SMUDGE so any reference to an existing word becomes a recursive
call. If you want to redefine the word, think of a new name for it.
(I'm not sure I understand this bit--it's in the part about cmForth).

- Late binding is slow, based on implementating with S" DUP" EVALUATE
I mean who does that? Late binding to most of us basically means DEFER.

- Say X X X X X instead of using a loop. CASE is an abomination. Do
lots of your application at compile time instead of run time, to keep
stuff out of the final executable. I thought most compilers did that

- "Removing wordlists is also one of the techniques that greatly
simplified other words in the system and allowed Chuck to build a 1K
sized Forth that can compile applications in a click."

- replace ! and @ with A! and A@, having an A register in the virtual
machine that also has an autoincrement mode

Some of this stuff is hardware oriented, some makes sense, and some just
makes me smile. Got a distributed company and want to run your own
payroll? Your software will have to deal with the tax codes of 100s of
overlapping jurisdictions. Good luck fitting that in 1K of code.
Software defined radio, video codec, etc.? Same thing. Connect your
computer to the internet? A 1K TCP stack might be sort of possible, but
TLS is probably not doable in that. Want it to have wifi or bluetooth?
Don't get me started.

The article has no mention of multitasking (Forth's traditional
cooperative multitasker is breathtakingly simple and is another thing
that impressed me about Forth). I had thought Polyforth was done by
Chuck but maybe I'm wrong.

There's lots more, I've only scratched the surface. So I don't
understand why it is that locals in particular draw ire while everything
else skates by.

Somewhere in the talk of using factoring instead of locals, the need to
name the factors seems to have forgotten. If avoiding thinking up names
for the locals speaks in favor of stack juggling, the similar need to
name small factors shouldn't be ignored. (I usually name factors FOO.1,
FOO.2 etc. though).

Re: Another example of factoring and locals

<6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a0c:fecf:0:b0:4b1:be55:d235 with SMTP id z15-20020a0cfecf000000b004b1be55d235mr702738qvs.103.1667809545210; Mon, 07 Nov 2022 00:25:45 -0800 (PST)
X-Received: by 2002:a05:6902:1387:b0:6b7:c393:63d1 with SMTP id x7-20020a056902138700b006b7c39363d1mr48422247ybu.34.1667809544905; Mon, 07 Nov 2022 00:25:44 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!69.80.99.18.MISMATCH!border-1.nntp.ord.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: Mon, 7 Nov 2022 00:25:44 -0800 (PST)
In-Reply-To: <87r0yf1ilv.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f14:6b99:edee:6220:ecc7:a3a3; posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f14:6b99:edee:6220:ecc7:a3a3
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com> <87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com> <tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com> <tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com> <tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com> <tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com> <tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com> <tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com> <tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 07 Nov 2022 08:25:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 22
X-Received-Bytes: 3128
 by: minf...@arcor.de - Mon, 7 Nov 2022 08:25 UTC

Paul Rubin schrieb am Montag, 7. November 2022 um 05:41:54 UTC+1:
> dxforth <dxf...@gmail.com> writes:
> > For quite a long time I thought locals were a part of Forth - until a
> > chance reading of a post by Jeff Fox.
> It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
> ...
> There's lots more, I've only scratched the surface. So I don't
> understand why it is that locals in particular draw ire while everything
> else skates by.

People love hot topics, particularly the heaters love them. Yet it is only
old stuff warmed up. Couple of years ago it had been OOP etc.

Those recommendations by Fox/Moore read like coming from a
(macro) assembler perspective. No surprise there. Forth can be a powerful
macro assembler.

But when you have to handle fat data objects in your embedded systems
you need more adequate tooling. Since Forth can be extended easily,
why not tool up Forth with what is needed.

AFAIU exactly THIS was Moore's philosophy. I guess he would have laughed
at "language purity" arguments.

Re: Another example of factoring and locals

<2022Nov7.084232@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Mon, 07 Nov 2022 07:42:32 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 140
Message-ID: <2022Nov7.084232@mips.complang.tuwien.ac.at>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com> <tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com> <tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com> <tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com> <tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
Injection-Info: reader01.eternal-september.org; posting-host="d0e4434477e8cacb678cd7d5ce988a0f";
logging-data="3737570"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+7kIxivvqtTynUfIu21xIb"
Cancel-Lock: sha1:4GDGhwy8UYm0rJcs9nB+X2s4Dkc=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 7 Nov 2022 07:42 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
....
>Among other ideas in the article:
>
>- Optimizing compilers are too complicated. It's better for your
> compiler/interpreter to make slow code just to make the implementation
> simpler, because you if your applications are minimalistic enough,
> they will run fast anyway.

One interesting aspect of our recent work in Gforth is that a number
of individually simple features synergize to provide optimizations I
had not foreseen:

1) The compile-time literal stack (intended for constant folding)

2) SET-OPTIMIZER that can set the implementation of COMPILE, for each
word individually.

E.g., in the general case +LOOP requires relatively complex and slow
checking of whether the loop should continue or end (in the absence of
an overflow flag). /LOOP is faster, but works only for positive
operands. In the typical case the operand is a constant. So, with
the literal stack we can check if there is a constant operand, and
whether it is positive, and if so, optimize +LOOP to /LOOP:

\ optimize +loop (not quite folding)
: replace-(+loop) ( xt1 -- xt2 )
case
['] (+loop) of ['] (/loop)# endof
['] (+loop)-lp+!# of ['] (/loop)#-lp+!# endof
-21 throw
endcase ;

: (+loop)-optimizer ( xt -- )
lits# 1 u>= if
lits> dup 0> if
swap replace-(+loop) peephole-compile, , exit then
>lits then
peephole-compile, ;

' (+loop)-optimizer optimizes (+loop)
' (+loop)-optimizer optimizes (+loop)-lp+!#

OPTIMIZES is like SET-OPTIMIZER, but applies to the word in the input
stream, not the most recently defined word. This actually optimizes
LIT n (+LOOP) to (/LOOP)# n, and we don't have /LOOP.

Of course, one might say that these kinds of optimizations are too
complicated, but I think that they are individually
simple and understandable, so are nice.

>- Blocks instead of files. I thought this one had resolved some decades ago.

The fans of blocks don't try to proselytize on clf anymore, that's
all.

>- Tail recursion instead of loops. Ok, Haskellers like this too. But I
> thought someone was complaining about it here on clf just recently.

People who perform return-address manipulation need to know what
pushes return addresses and what does not. If you have written such
code for classical Forth, where every call pushes a return address, it
is likely to break on a Forth that performs tail-call elimination. If
you have written such code for a Forth system that performs tail-call
elimination, it depends on the particular way that tail-call
elimination is implemented.

>- Eliminate SMUDGE so any reference to an existing word becomes a recursive
> call. If you want to redefine the word, think of a new name for it.
> (I'm not sure I understand this bit--it's in the part about cmForth).

This has to do with using tail recursion for loops. In classical
Forth, if you write

: foo ... if ... foo then ;

it complains that FOO is undefined (or calls an older definition of
FOO if there is one).

>- Late binding is slow, based on implementating with S" DUP" EVALUATE
> I mean who does that?

Some people have been proposing to use EVALUATE im immediate words to
produce STATE-smart macros (that also have lots of other dependencies
beyond STATE). I recommend avoiding such practices.

> Late binding to most of us basically means DEFER.

Well, it's not late name binding, but it can be used for things like
mutual recursion for which programmers in languages with late name
binding like Lisp and Postscript use late name binding.

>- Say X X X X X instead of using a loop. CASE is an abomination. Do
> lots of your application at compile time instead of run time, to keep
> stuff out of the final executable. I thought most compilers did that

I am not aware of Forth compilers that unroll loops. And in any case,
Jeff Fox would consider that to be a case of a too complicated
compiler.

>Connect your
>computer to the internet? A 1K TCP stack might be sort of possible, but
>TLS is probably not doable in that.

The traditionalist answer has been to get rid of the overcomplicated
specification, and redesign based on the requirements. Bernd Paysan
has done that in net2o, and the parts that replace TCP and TLS have
been done for several years. He does not provide the classical
network API to make net2o a drop-in replacement for TCP and TLS; maybe
that would be too complicated, too. Instead, he has gone on to
implement additional functionality (what's usually in a browser).

>There's lots more, I've only scratched the surface. So I don't
>understand why it is that locals in particular draw ire while everything
>else skates by.

That's an interesting question. Why did Andrew Haley disparage
recognizers that require relatively little code, while accepting
without comment the SUBSTITUTE proposal that requires much more code.
I think I asked him that, and his answer was along the lines that the
text interpreter (for which the recognizer proposal would standardize
a part) is a fundamental part of Forth, while SUBSTITUTE is
peripheral. Maybe the reason is similar for stack vs. locals.

There may also be the usual elitism at work. Some programmers brought
up the hard way think of themselves as elite because of that, and
resent locals which, if accepted, make all their elite competences
appear worthless. You can also see the same effect in C where there
are people who viciously defend undefined behaviour, believe in
resulting optimization effects of mythical dimensions, and declare
that anybody who thinks differently should switch to a lesser
programming language.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2022: https://euro.theforth.net

Re: Another example of factoring and locals

<nnd$7ca32884$4e2c740b@a3bee950414bd8b7>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
Subject: Re: Another example of factoring and locals
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: alb...@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$7ca32884$4e2c740b@a3bee950414bd8b7>
Organization: KPN B.V.
Date: Mon, 07 Nov 2022 11:16:01 +0100
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 149
Injection-Date: Mon, 07 Nov 2022 11:16:01 +0100
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 7214
 by: none - Mon, 7 Nov 2022 10:16 UTC

In article <87r0yf1ilv.fsf@nightsong.com>,
Paul Rubin <no.email@nospam.invalid> wrote:
>dxforth <dxforth@gmail.com> writes:
>> For quite a long time I thought locals were a part of Forth - until a
>> chance reading of a post by Jeff Fox.
>
>It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
>
>A very interesting article. I read it some years ago (it's one of the
>things that got/kept me interested in Forth) and I just re-read it. It
>contains wisdom that can be learned from but that I think shouldn't be
>taken too literally.
>
>Among other ideas in the article:
>
>- Optimizing compilers are too complicated. It's better for your
> compiler/interpreter to make slow code just to make the implementation
> simpler, because you if your applications are minimalistic enough,
> they will run fast anyway.

I only partly agree with this. The basic compiler should be as simple
as possible. Then when/if you need speed you haven't to content with
tricks that get in the way. I succeeded in an experimental optimiser
with ciforth that can optimise the prime counting Byte benchmark
to the level of Swiftforth or MEP-forth.

>
>- Blocks instead of files. I thought this one had resolved some decades ago.

That opinion have overlooked some opportunities. The library that comes
with ciforth is a block file. It provides a nice granularity, features
conditional compilation.The cc allows booting, msdos, MS-windows, linux,
apple 16/32/64 share the same library.
Normally ciforth slurps its source file. If you insist having line
buffered i/o the block buffers serve double duty as file input buffers.

>
>- No floating point arithmetic. Used scaled integers instead, and
> concoct your own measurement units in your app to make the scaled
> I originally chose mV for internal units. But using 6400 mV = 4096
> units replaces a divide with a shift and requires only 2 multiplies
> per transistor.

If you have an i86 with a floating point stack implementation fp
is a small effort. It can come in handy.

>
>- Tail recursion instead of loops. Ok, Haskellers like this too. But I
> thought someone was complaining about it here on clf just recently.
>
>- "Face the problem, think about it until you can picture the solution
> as about 1K of code or less. Until then you don't really understand it."

Exaggeration. Most of my Forth solutions to euler problems (300+)
qualify though.

>
>- Eliminate SMUDGE so any reference to an existing word becomes a recursive
> call. If you want to redefine the word, think of a new name for it.
> (I'm not sure I understand this bit--it's in the part about cmForth).

I'm redefining words as in
: difficult .... ;
\ : difficult .s difficult .s ;
all the time.
You need to forego this.
This is to advocate recursion over looping, and then you've got
do tail-optimisation for reason of return stack overflow.
Well I call this sectarian drivel.

>
>- Late binding is slow, based on implementating with S" DUP" EVALUATE
> I mean who does that? Late binding to most of us basically means DEFER.

Remember FORGET-VOC the other day.

The phrase `` >NFA @ @ '' is incomprehensible.
: nt>namelength ">NFA @ @" EVALUATE ; IMMEDIATE
I contend that the :I that automatically inlines has no such
disadvantages.
:I nt>namelength >NFA @ @ ;
Note >R and I can be used in these inline macro's.

>
>- Say X X X X X instead of using a loop. CASE is an abomination. Do
> lots of your application at compile time instead of run time, to keep
> stuff out of the final executable. I thought most compilers did that

The example is of course crc. Most Forth implementations calculate
the speed up tables at compile time. A c-implementation has to choose
between an initialisation calculation at run time, or a two stage process
where tables are included.
Regards CASE. I think it is superfluous. At least the c switch
construction allows baffling optimisations.

>
>- "Removing wordlists is also one of the techniques that greatly
> simplified other words in the system and allowed Chuck to build a 1K
> sized Forth that can compile applications in a click."
In the Gbyte area I am a proponent of wordlists. It is not
complicated per se, and it opens a wealth of possibilities
such as sealing user commands, temporarily loading and trimming
an assembler etc.

>
>- replace ! and @ with A! and A@, having an A register in the virtual
> machine that also has an autoincrement mode

This is micro-optimisation directed at the hardware at hand.

>
>Some of this stuff is hardware oriented, some makes sense, and some just
>makes me smile. Got a distributed company and want to run your own
>payroll? Your software will have to deal with the tax codes of 100s of
>overlapping jurisdictions. Good luck fitting that in 1K of code.
>Software defined radio, video codec, etc.? Same thing. Connect your
>computer to the internet? A 1K TCP stack might be sort of possible, but
>TLS is probably not doable in that. Want it to have wifi or bluetooth?
>Don't get me started.

You are of course right. I'd like to have seen the rebuttal of Jeff Fox
>
>The article has no mention of multitasking (Forth's traditional
>cooperative multitasker is breathtakingly simple and is another thing
>that impressed me about Forth). I had thought Polyforth was done by
>Chuck but maybe I'm wrong.
>
>There's lots more, I've only scratched the surface. So I don't
>understand why it is that locals in particular draw ire while everything
>else skates by.
>
>Somewhere in the talk of using factoring instead of locals, the need to
>name the factors seems to have forgotten. If avoiding thinking up names
>for the locals speaks in favor of stack juggling, the similar need to
>name small factors shouldn't be ignored. (I usually name factors FOO.1,
>FOO.2 etc. though).

Valid point. I see professor Veltman's software package schoonschip
and he ended naming files after his daughters.
Probably it is asking to much to find a language prowess like
Bob Dylan's under software developers.

Groetjes Albert
--
"in our communism country Viet Nam, people are forced to be
alive and in the western country like US, people are free to
die from Covid 19 lol" duc ha
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

Re: Another example of factoring and locals

<nnd$45ee1036$147e5362@400c25783319bd6f>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <2022Nov7.084232@mips.complang.tuwien.ac.at>
Subject: Re: Another example of factoring and locals
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: alb...@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$45ee1036$147e5362@400c25783319bd6f>
Organization: KPN B.V.
Date: Mon, 07 Nov 2022 11:24:25 +0100
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe006.abavia.com!abp001.abavia.com!news.kpn.nl!not-for-mail
Lines: 26
Injection-Date: Mon, 07 Nov 2022 11:24:25 +0100
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 1874
 by: none - Mon, 7 Nov 2022 10:24 UTC

In article <2022Nov7.084232@mips.complang.tuwien.ac.at>,
Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
<SNIP>
>That's an interesting question. Why did Andrew Haley disparage
>recognizers that require relatively little code, while accepting
>without comment the SUBSTITUTE proposal that requires much more code.
>I think I asked him that, and his answer was along the lines that the
>text interpreter (for which the recognizer proposal would standardize
>a part) is a fundamental part of Forth, while SUBSTITUTE is
>peripheral. Maybe the reason is similar for stack vs. locals.

The poor man's solution of recognizers (PREFIX) comes at the
cost of two lines in the kernel. And it can't be disparaged for
the same reason as adding SUBSTITUTE.
The impact on the text interpreter is invisible.

>
>- anton

Groetjes Albert
--
"in our communism country Viet Nam, people are forced to be
alive and in the western country like US, people are free to
die from Covid 19 lol" duc ha
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

Re: Another example of factoring and locals

<tkapj5$1q7h$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Mon, 7 Nov 2022 22:19:00 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tkapj5$1q7h$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
<2022Nov7.084232@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="59633"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Mon, 7 Nov 2022 11:19 UTC

On 7/11/2022 6:42 pm, Anton Ertl wrote:
>
> There may also be the usual elitism at work. Some programmers brought
> up the hard way think of themselves as elite because of that, and
> resent locals which, if accepted, make all their elite competences
> appear worthless.

I agree there's no elitism in bringing locals to a language whose creator
expressly refutes them. More a beginner's mistake. Elitism is when they
refuse to accept 'No' because they know better.

Re: Another example of factoring and locals

<10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ae9:f441:0:b0:6fa:a6fc:e814 with SMTP id z1-20020ae9f441000000b006faa6fce814mr8500604qkl.538.1667821405175;
Mon, 07 Nov 2022 03:43:25 -0800 (PST)
X-Received: by 2002:a05:6902:305:b0:6c3:b4d6:7a04 with SMTP id
b5-20020a056902030500b006c3b4d67a04mr46822919ybs.93.1667821404918; Mon, 07
Nov 2022 03:43:24 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.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: Mon, 7 Nov 2022 03:43:24 -0800 (PST)
In-Reply-To: <6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=147.161.172.174; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 147.161.172.174
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Mon, 07 Nov 2022 11:43:25 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3471
 by: Marcel Hendrix - Mon, 7 Nov 2022 11:43 UTC

On Monday, November 7, 2022 at 9:25:46 AM UTC+1, minf...@arcor.de wrote:
> Paul Rubin schrieb am Montag, 7. November 2022 um 05:41:54 UTC+1:
> > dxforth <dxf...@gmail.com> writes:
> > > For quite a long time I thought locals were a part of Forth - until a
> > > chance reading of a post by Jeff Fox.
> > It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
> > ...
> > There's lots more, I've only scratched the surface. So I don't
> > understand why it is that locals in particular draw ire while everything
> > else skates by.
> People love hot topics, particularly the heaters love them. Yet it is only
> old stuff warmed up. Couple of years ago it had been OOP etc.
>
> Those recommendations by Fox/Moore read like coming from a
> (macro) assembler perspective. No surprise there. Forth can be a powerful
> macro assembler.
>
> But when you have to handle fat data objects in your embedded systems
> you need more adequate tooling. Since Forth can be extended easily,
> why not tool up Forth with what is needed.
>
> AFAIU exactly THIS was Moore's philosophy. I guess he would have laughed
> at "language purity" arguments.

Forth has many faces, maybe as many faces as it has users.
Given a sufficiently powerful system, a domain expert can, and will, extend it
in a fashion that quickly becomes completely incomprehensible to other Forth
users. CM is a prime example of that. Unfortunately, it does not scale.

-marcel

Re: Another example of factoring and locals

<a5bcf859-08bf-4824-ba1a-e4671b2e6c69n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:102:b0:3a4:efd9:7ab with SMTP id u2-20020a05622a010200b003a4efd907abmr690658qtw.192.1667828412716;
Mon, 07 Nov 2022 05:40:12 -0800 (PST)
X-Received: by 2002:a05:6902:1101:b0:6d4:7528:cb51 with SMTP id
o1-20020a056902110100b006d47528cb51mr13151568ybu.237.1667828412464; Mon, 07
Nov 2022 05:40:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!2.eu.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.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: Mon, 7 Nov 2022 05:40:12 -0800 (PST)
In-Reply-To: <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f14:6b99:edee:6220:ecc7:a3a3;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f14:6b99:edee:6220:ecc7:a3a3
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
<6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com> <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a5bcf859-08bf-4824-ba1a-e4671b2e6c69n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 07 Nov 2022 13:40:12 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 43
 by: minf...@arcor.de - Mon, 7 Nov 2022 13:40 UTC

Marcel Hendrix schrieb am Montag, 7. November 2022 um 12:43:26 UTC+1:
> On Monday, November 7, 2022 at 9:25:46 AM UTC+1, minf...@arcor.de wrote:
> > Paul Rubin schrieb am Montag, 7. November 2022 um 05:41:54 UTC+1:
> > > dxforth <dxf...@gmail.com> writes:
> > > > For quite a long time I thought locals were a part of Forth - until a
> > > > chance reading of a post by Jeff Fox.
> > > It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
> > > ...
> > > There's lots more, I've only scratched the surface. So I don't
> > > understand why it is that locals in particular draw ire while everything
> > > else skates by.
> > People love hot topics, particularly the heaters love them. Yet it is only
> > old stuff warmed up. Couple of years ago it had been OOP etc.
> >
> > Those recommendations by Fox/Moore read like coming from a
> > (macro) assembler perspective. No surprise there. Forth can be a powerful
> > macro assembler.
> >
> > But when you have to handle fat data objects in your embedded systems
> > you need more adequate tooling. Since Forth can be extended easily,
> > why not tool up Forth with what is needed.
> >
> > AFAIU exactly THIS was Moore's philosophy. I guess he would have laughed
> > at "language purity" arguments.
> Forth has many faces, maybe as many faces as it has users.
> Given a sufficiently powerful system, a domain expert can, and will, extend it
> in a fashion that quickly becomes completely incomprehensible to other Forth
> users. CM is a prime example of that. Unfortunately, it does not scale.
>

True. It is very unfortunate, and perhaps one of the big reasons why Forth is stalling,
that there is no standardized module or library concept in Forth.

[ Just one example: I use a comprehensive, battle-proven and fast linear algebra library
system in Forth. Small enough to run in-the-loop in MCUs. But it requires the presence
of three other small modules: complex math, dynamic vectors/arrays, basic digital filtering.
The latter three are no big deal for engineers.

But it would be unusable for other Forth users. Why? Because the module concept
has its own syntax incl. namespace management. It can't use some standard syntax
because there is none. ]

Consequence: the Forth software "world" is characterized by inventing wheels over
and over, and thus creating mutually incomprehensible DSLs every time.

Re: Another example of factoring and locals

<d4135327-b2c6-436e-b68e-9c12385ed253n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:1402:0:b0:3a5:7037:9390 with SMTP id k2-20020ac81402000000b003a570379390mr11301325qtj.616.1667828779076;
Mon, 07 Nov 2022 05:46:19 -0800 (PST)
X-Received: by 2002:a81:5989:0:b0:370:4a99:df7d with SMTP id
n131-20020a815989000000b003704a99df7dmr712700ywb.308.1667828693426; Mon, 07
Nov 2022 05:44:53 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Mon, 7 Nov 2022 05:44:53 -0800 (PST)
In-Reply-To: <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f14:6b99:edee:6220:ecc7:a3a3;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f14:6b99:edee:6220:ecc7:a3a3
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
<6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com> <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d4135327-b2c6-436e-b68e-9c12385ed253n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 07 Nov 2022 13:46:19 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3297
 by: minf...@arcor.de - Mon, 7 Nov 2022 13:44 UTC

Marcel Hendrix schrieb am Montag, 7. November 2022 um 12:43:26 UTC+1:
> Forth has many faces, maybe as many faces as it has users.
> Given a sufficiently powerful system, a domain expert can, and will, extend it
> in a fashion that quickly becomes completely incomprehensible to other Forth
> users. CM is a prime example of that. Unfortunately, it does not scale.

True. It is very unfortunate, and perhaps one of the big reasons why Forth is stalling,
that there is no standardized module or library concept in Forth.

[ Just one example: I use a comprehensive, battle-proven and fast linear algebra library
system in Forth. Small enough to run in-the-loop in MCUs. But it requires the presence
of three other small modules: complex math, dynamic vectors/arrays, basic digital filtering.
The latter three are no big deal for engineers.

But it would be unusable for other Forth users. Why? Because the module concept
has its own syntax incl. namespace management. It can't use some standard syntax
because there is none. ]

Consequence: the Forth software "world" is characterized by re-inventing wheels over
and over, and thus creating mutually incomprehensible DSLs every time.

Re: Another example of factoring and locals

<tkb4qc$1d6b$1@gioia.aioe.org>

  copy mid

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

  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: Another example of factoring and locals
Date: Tue, 8 Nov 2022 01:30:36 +1100
Organization: Aioe.org NNTP Server
Message-ID: <tkb4qc$1d6b$1@gioia.aioe.org>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at>
<tjn8al$1ssh$1@gioia.aioe.org> <87eduo694u.fsf@nightsong.com>
<02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com>
<b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org>
<19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org>
<5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org>
<dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.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="46283"; 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:102.0) Gecko/20100101
Thunderbird/102.4.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Mon, 7 Nov 2022 14:30 UTC

On 7/11/2022 3:41 pm, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> For quite a long time I thought locals were a part of Forth - until a
>> chance reading of a post by Jeff Fox.
>
> It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
>
> A very interesting article. I read it some years ago (it's one of the
> things that got/kept me interested in Forth) and I just re-read it. It
> contains wisdom that can be learned from but that I think shouldn't be
> taken too literally.

Jeff could be a bit like Hugh but his point that I related about locals in
Forth not serving the same function as locals in C is indisputable.

Re: Another example of factoring and locals

<3c59dfd5-5126-44c6-90bf-469d62c348a7n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:625:b0:4bb:ff88:a937 with SMTP id a5-20020a056214062500b004bbff88a937mr37098264qvx.111.1667833129868;
Mon, 07 Nov 2022 06:58:49 -0800 (PST)
X-Received: by 2002:a05:6902:1023:b0:6d1:7280:81c7 with SMTP id
x3-20020a056902102300b006d1728081c7mr23114017ybt.530.1667833129163; Mon, 07
Nov 2022 06:58:49 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Mon, 7 Nov 2022 06:58:48 -0800 (PST)
In-Reply-To: <tkb4qc$1d6b$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f14:6b99:edee:6220:ecc7:a3a3;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f14:6b99:edee:6220:ecc7:a3a3
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <tkb4qc$1d6b$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3c59dfd5-5126-44c6-90bf-469d62c348a7n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 07 Nov 2022 14:58:49 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2831
 by: minf...@arcor.de - Mon, 7 Nov 2022 14:58 UTC

dxforth schrieb am Montag, 7. November 2022 um 15:30:41 UTC+1:
> On 7/11/2022 3:41 pm, Paul Rubin wrote:
> > dxforth <dxf...@gmail.com> writes:
> >> For quite a long time I thought locals were a part of Forth - until a
> >> chance reading of a post by Jeff Fox.
> >
> > It might have been this (3 parts): http://www.ultratechnology.com/forth.htm
> >
> > A very interesting article. I read it some years ago (it's one of the
> > things that got/kept me interested in Forth) and I just re-read it. It
> > contains wisdom that can be learned from but that I think shouldn't be
> > taken too literally.
> Jeff could be a bit like Hugh but his point that I related about locals in
> Forth not serving the same function as locals in C is indisputable.

LOL! No hughish necromancy before next halloween! He might love you too!

Re: Another example of factoring and locals

<4d6d0389-1f71-4934-a489-11f5ee2d7574n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:604b:0:b0:3a5:456d:8bae with SMTP id k11-20020ac8604b000000b003a5456d8baemr22425958qtm.416.1667836879754;
Mon, 07 Nov 2022 08:01:19 -0800 (PST)
X-Received: by 2002:a25:aba9:0:b0:6c9:eb26:b782 with SMTP id
v38-20020a25aba9000000b006c9eb26b782mr49969334ybi.166.1667836879572; Mon, 07
Nov 2022 08:01:19 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Mon, 7 Nov 2022 08:01:19 -0800 (PST)
In-Reply-To: <tkb4qc$1d6b$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.174.47.232; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 77.174.47.232
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <tkb4qc$1d6b$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4d6d0389-1f71-4934-a489-11f5ee2d7574n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Mon, 07 Nov 2022 16:01:19 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2444
 by: Hans Bezemer - Mon, 7 Nov 2022 16:01 UTC

On Monday, November 7, 2022 at 3:30:41 PM UTC+1, dxforth wrote:
> Jeff could be a bit like Hugh but his point that I related about locals in
> Forth not serving the same function as locals in C is indisputable.
True. You could let data flow over a stack in C (with a little trouble).
However, it's alien to the very concept of C, which uses stack frames
as its primary data flow mechanism. It's the same way with Forth.
In Forth, it's the stack - not locals. And locals are as alien.

Hans Bezemer

Re: Another example of factoring and locals

<38b67865-7dde-4c69-9abd-8e101af76039n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:21a6:b0:4bb:85b4:fd96 with SMTP id t6-20020a05621421a600b004bb85b4fd96mr45095750qvc.28.1667840802761;
Mon, 07 Nov 2022 09:06:42 -0800 (PST)
X-Received: by 2002:a81:b80f:0:b0:367:e2c8:1ea5 with SMTP id
v15-20020a81b80f000000b00367e2c81ea5mr46996386ywe.175.1667840802464; Mon, 07
Nov 2022 09:06:42 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Mon, 7 Nov 2022 09:06:42 -0800 (PST)
In-Reply-To: <4d6d0389-1f71-4934-a489-11f5ee2d7574n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f14:6b99:edee:6220:ecc7:a3a3;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f14:6b99:edee:6220:ecc7:a3a3
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tjn8al$1ssh$1@gioia.aioe.org>
<87eduo694u.fsf@nightsong.com> <02026cae-ed9d-4708-9e42-064868654c91n@googlegroups.com>
<87a65c66u4.fsf@nightsong.com> <b6d6f67e-d25d-4605-a480-c3c109426092n@googlegroups.com>
<tjq4rc$1h03$1@gioia.aioe.org> <19093cee-3054-48ed-8d4a-92c97806589cn@googlegroups.com>
<tjra46$gid$1@gioia.aioe.org> <5a98a33e-8eed-402a-92d5-183705a7f1d4n@googlegroups.com>
<tk26jf$h8o$1@gioia.aioe.org> <87leor2s9i.fsf@nightsong.com>
<tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com>
<tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com>
<tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com>
<tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com>
<tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com>
<tkb4qc$1d6b$1@gioia.aioe.org> <4d6d0389-1f71-4934-a489-11f5ee2d7574n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <38b67865-7dde-4c69-9abd-8e101af76039n@googlegroups.com>
Subject: Re: Another example of factoring and locals
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 07 Nov 2022 17:06:42 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2348
 by: minf...@arcor.de - Mon, 7 Nov 2022 17:06 UTC

the.bee...@gmail.com schrieb am Montag, 7. November 2022 um 17:01:21 UTC+1:
> However, it's alien to the very concept of C, which uses stack frames
> as its primary data flow mechanism.

Modern 64-bit C passes most arguments through CPU registers.
Times are a-changing ...

Re: Another example of factoring and locals

<2022Nov7.232424@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Mon, 07 Nov 2022 22:24:24 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 27
Message-ID: <2022Nov7.232424@mips.complang.tuwien.ac.at>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <tk2fp3$185b$1@gioia.aioe.org> <878rkq2h4l.fsf@nightsong.com> <tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com> <tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com> <tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <6a1d499d-1cc3-4acb-85dd-24838f93d320n@googlegroups.com> <10839720-ce01-412b-ae79-04d881aace7dn@googlegroups.com>
Injection-Info: reader01.eternal-september.org; posting-host="d0e4434477e8cacb678cd7d5ce988a0f";
logging-data="3880431"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ym82CG/XEbFAFWEtq3LL+"
Cancel-Lock: sha1:IBPhfYWgqUeO0UMh0GabTdwb+9o=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 7 Nov 2022 22:24 UTC

Marcel Hendrix <mhx@iae.nl> writes:
>Given a sufficiently powerful system, a domain expert can, and will, extend it
>in a fashion that quickly becomes completely incomprehensible to other Forth
>users. CM is a prime example of that. Unfortunately, it does not scale.

I disagree. Chuck Moore's work on Forth is an example that is not
only comprehensible to others, but has inspired many others to use it,
adapt it to their needs, extend it, and do their own things with it.
And it scaled quite well. Thousands of people have used Forth.

That does not mean that every Forth application written by a domain
expert will be comprehensible, usable by others, and so on. One has
to work on that, typically follow a few blind alleys until one finds
the right way to do things and everythings falls into place. It helps
to keep both the implementation and the interface simple, it does not
help to keep the implementation simple at the cost of interface
complexity. If the interface is easy, but the implementation complex,
you get a black box, which is not Forth-like, but may or may not be
successful with users; you will have trouble finding people to
maintain the black box, though.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2022: https://euro.theforth.net

Re: Another example of factoring and locals

<2022Nov7.232547@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!news.swapon.de!news.mixmin.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Another example of factoring and locals
Date: Mon, 07 Nov 2022 22:25:47 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 15
Message-ID: <2022Nov7.232547@mips.complang.tuwien.ac.at>
References: <2022Oct26.225153@mips.complang.tuwien.ac.at> <878rkq2h4l.fsf@nightsong.com> <tk512n$1s92$1@gioia.aioe.org> <dcbf4bad-9916-480b-9f9c-71ddd262a409n@googlegroups.com> <tk5gv2$1thj$1@gioia.aioe.org> <874jvd2ita.fsf@nightsong.com> <tk722u$1jq1$1@gioia.aioe.org> <87zgd41up3.fsf@nightsong.com> <tk7sah$1cne$1@gioia.aioe.org> <87r0yf1ilv.fsf@nightsong.com> <tkb4qc$1d6b$1@gioia.aioe.org> <4d6d0389-1f71-4934-a489-11f5ee2d7574n@googlegroups.com> <38b67865-7dde-4c69-9abd-8e101af76039n@googlegroups.com>
Injection-Info: reader01.eternal-september.org; posting-host="d0e4434477e8cacb678cd7d5ce988a0f";
logging-data="3880431"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+W+et1JntSeRfVA3fSJPVG"
Cancel-Lock: sha1:ouIprXefVkYJHNWlT5EhXVJHiYY=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 7 Nov 2022 22:25 UTC

"minf...@arcor.de" <minforth@arcor.de> writes:
>Modern 64-bit C passes most arguments through CPU registers.
>Times are a-changing ...

C calling conventions on 32-bit architectures such as ARM (1985), MIPS
(1986), SPARC (1986) etc. all pass parameters through registers.
Given the age and current status of these architectures, I hesitate to
call them modern.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2022: https://euro.theforth.net


devel / comp.lang.forth / Re: Another example of factoring and locals

Pages:123456789
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor