Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"One day I woke up and discovered that I was in love with tripe." -- Tom Anderson


devel / comp.lang.forth / Re: Modern Forth

SubjectAuthor
* Modern Forthminf...@arcor.de
+* Re: Modern ForthNickolay Kolchin
|`- Re: Modern Forthminf...@arcor.de
+- Re: Modern ForthKerr-Mudd, John
+* Re: Modern ForthMarcel Hendrix
|+* Re: Modern Forthminf...@arcor.de
||+- Re: Modern ForthMarcel Hendrix
||`- Re: Modern ForthMarcel Hendrix
|+* Re: Modern ForthKrishna Myneni
||+* Re: Modern Forthminf...@arcor.de
|||`- Re: Modern ForthKrishna Myneni
||+* Re: Modern ForthNickolay Kolchin
|||+* Re: Modern ForthKrishna Myneni
||||`* Re: Modern ForthNickolay Kolchin
|||| `* Re: Modern ForthKrishna Myneni
||||  +* Re: Modern ForthNickolay Kolchin
||||  |`* Re: Modern ForthKrishna Myneni
||||  | +* Re: Modern Forthdxforth
||||  | |`* Re: Modern Forthminf...@arcor.de
||||  | | `* Re: Modern Forthdxforth
||||  | |  +* Re: Modern ForthKrishna Myneni
||||  | |  |`- Re: Modern Forthdxforth
||||  | |  `* Re: Modern ForthAnton Ertl
||||  | |   `* Re: Modern ForthHugh Aguilar
||||  | |    `- Re: Modern ForthNickolay Kolchin
||||  | `* Re: Modern ForthHugh Aguilar
||||  |  `- Re: Modern Forthminf...@arcor.de
||||  +* Re: Modern ForthAnton Ertl
||||  |`- Re: Modern ForthNickolay Kolchin
||||  `* Re: Modern ForthAndy Valencia
||||   +* Re: Modern Forthdxforth
||||   |+- Re: Modern ForthNickolay Kolchin
||||   |`* Re: Modern ForthAnton Ertl
||||   | `* Re: Modern ForthNickolay Kolchin
||||   |  +* Re: Modern ForthRon AARON
||||   |  |`- Re: Modern ForthNickolay Kolchin
||||   |  +* Re: Modern Forthmeff
||||   |  |`* Re: Modern ForthNickolay Kolchin
||||   |  | `* Re: Modern Forthmeff
||||   |  |  `* Re: Modern Forthminf...@arcor.de
||||   |  |   `* Re: Modern Forthmeff
||||   |  |    `* Re: Modern Forthminf...@arcor.de
||||   |  |     +- Re: Modern Forthminf...@arcor.de
||||   |  |     `- Re: Modern Forthmeff
||||   |  `* Re: Modern ForthAnton Ertl
||||   |   `* Re: Modern ForthNickolay Kolchin
||||   |    `* Re: Modern Forthminf...@arcor.de
||||   |     `- Re: Modern ForthNickolay Kolchin
||||   `- Re: Modern ForthAndy Valencia
|||`* Re: Modern Forthminf...@arcor.de
||| `* Re: Modern ForthNickolay Kolchin
|||  `* Re: Modern ForthPaul Rubin
|||   +- Re: Modern Forthjohn
|||   `* Re: Modern ForthNickolay Kolchin
|||    `* Re: Modern ForthPaul Rubin
|||     `* Re: Modern ForthNickolay Kolchin
|||      `* Re: Modern ForthPaul Rubin
|||       `* Re: Modern ForthNickolay Kolchin
|||        +* Re: Modern Forthdxforth
|||        |`* Re: Modern ForthNickolay Kolchin
|||        | `* Re: Modern Forthminf...@arcor.de
|||        |  `* Re: Modern ForthNickolay Kolchin
|||        |   `* Re: Modern Forthminf...@arcor.de
|||        |    +* Re: Modern ForthMarcel Hendrix
|||        |    |+- Re: Modern ForthNickolay Kolchin
|||        |    |`* Re: Modern ForthAnton Ertl
|||        |    | `* Re: Modern ForthMarcel Hendrix
|||        |    |  +* Re: Modern ForthPaul Rubin
|||        |    |  |+* Re: Modern ForthMarcel Hendrix
|||        |    |  ||+* Re: Modern ForthPaul Rubin
|||        |    |  |||+* Re: Modern ForthNickolay Kolchin
|||        |    |  ||||`* Re: Modern Forthminf...@arcor.de
|||        |    |  |||| `- Re: Modern ForthAnton Ertl
|||        |    |  |||`* Re: Modern ForthMarcel Hendrix
|||        |    |  ||| +* Re: Modern ForthPaul Rubin
|||        |    |  ||| |+* Re: Modern ForthBrian Fox
|||        |    |  ||| ||+- Re: Modern ForthPaul Rubin
|||        |    |  ||| ||`- Re: Modern ForthAnton Ertl
|||        |    |  ||| |`- Re: Modern ForthMarcel Hendrix
|||        |    |  ||| `- Re: Modern ForthAnton Ertl
|||        |    |  ||`* Re: Modern ForthAnton Ertl
|||        |    |  || `* Re: Modern ForthPaul Rubin
|||        |    |  ||  +* Re: Modern Forthminf...@arcor.de
|||        |    |  ||  |`- Re: Modern ForthPaul Rubin
|||        |    |  ||  `- Re: Modern ForthMarcel Hendrix
|||        |    |  |`* Re: Modern ForthMarcel Hendrix
|||        |    |  | `* Re: Modern ForthNickolay Kolchin
|||        |    |  |  `- Re: Modern ForthMarcel Hendrix
|||        |    |  `- Re: Modern ForthAnton Ertl
|||        |    +- Re: Modern ForthNickolay Kolchin
|||        |    `- Re: Modern ForthNickolay Kolchin
|||        `* Re: Modern ForthPaul Rubin
|||         +- Re: Modern ForthNickolay Kolchin
|||         `- Re: Modern ForthAnton Ertl
||`* Re: Modern ForthAndy Valencia
|| +- Re: Modern ForthNickolay Kolchin
|| +* Re: Modern ForthAndy Valencia
|| |`- Re: Modern Forthminf...@arcor.de
|| +- Re: Modern ForthAnton Ertl
|| `* Re: Modern ForthAndy Valencia
||  +- Re: Modern ForthAnton Ertl
||  `- Re: Modern ForthHans Bezemer
|`- Re: Modern ForthAnton Ertl
+* Re: Modern Forthdxforth
+* Re: Modern ForthIlya Tarasov
+* Re: Modern ForthAnton Ertl
`* Re: Modern ForthHans Bezemer

Pages:1234567
Re: Modern Forth

<85f48b2c-898f-4221-ad87-d64155629784n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:8883:: with SMTP id k125mr29451950qkd.464.1641104387846;
Sat, 01 Jan 2022 22:19:47 -0800 (PST)
X-Received: by 2002:a05:6214:c8e:: with SMTP id r14mr37496010qvr.38.1641104387697;
Sat, 01 Jan 2022 22:19:47 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 1 Jan 2022 22:19:47 -0800 (PST)
In-Reply-To: <87sfuask8t.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <8fff5ed7-8475-434e-b132-16b401a867dbn@googlegroups.com>
<7d0af593-02fc-4213-be42-46fbd82f456cn@googlegroups.com> <87mtkswfoy.fsf@nightsong.com>
<a493c9c9-7321-4ee4-a14d-f1e8c8c4829dn@googlegroups.com> <87a6grx58e.fsf@nightsong.com>
<693d3e71-2cfa-4923-9102-ad6986ea26c2n@googlegroups.com> <875yrfx3bt.fsf@nightsong.com>
<4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com> <87sfuask8t.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <85f48b2c-898f-4221-ad87-d64155629784n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 06:19:47 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 23
 by: Nickolay Kolchin - Sun, 2 Jan 2022 06:19 UTC

On Thursday, December 30, 2021 at 9:02:44 AM UTC+3, Paul Rubin wrote:
>
> Yeah, as for "future Forth", I don't think Python-like Forths have much
> attraction. Maybe of more interest is tethered Forths that move the
> text interpreter to a remote host, instead of just using a serial port
> and resident interpreter. This is already done with the professional
> Forths but I'd like to see it in hobbyist Forths. There should also be
> some modifications to e.g. DOES> to be friendlier for target cpus with
> program memory in flash instead of ram.

This will have hard competition with Flutter like systems, which are
able to update only changed parts of running program on target.

>
> This was also of interest: https://queue.acm.org/detail.cfm?id=3212479
>
> It says that the old flat-memory single-threaded cpu abstraction no
> longer really reflects the hardware. So maybe it's best to e.g. get rid
> of the cache hierarchy and explicitly expose multiple levels of slower
> and faster memory. If that results in new kinds of cpus, maybe Forth
> could be suitable for them.

Such point of view exist for long time. Yet we don't have adequate C
replacement.

Re: Modern Forth

<680d27d4-8c6e-4d2f-aa9a-122dd4187ff7n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:10af:: with SMTP id h15mr26348917qkk.493.1641105200876;
Sat, 01 Jan 2022 22:33:20 -0800 (PST)
X-Received: by 2002:ae9:f708:: with SMTP id s8mr28101164qkg.306.1641105200664;
Sat, 01 Jan 2022 22:33:20 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 1 Jan 2022 22:33:20 -0800 (PST)
In-Reply-To: <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com> <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>
<c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com> <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <680d27d4-8c6e-4d2f-aa9a-122dd4187ff7n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 06:33:20 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Nickolay Kolchin - Sun, 2 Jan 2022 06:33 UTC

On Friday, December 31, 2021 at 11:51:26 AM UTC+3, Marcel Hendrix wrote:
> Actually, I don't understand the need. Is there a program
> we can't express in Forth? If there is, "we need" to do
> something indeed.
>

We can also express "any program" in brainfuck.

The question stands differently -- How we convince other people
to use Forth? Because, language dies without programmers.

Re: Modern Forth

<a2e08f95-a75e-48da-8d64-21af9cd0eb49n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:21aa:: with SMTP id t10mr37054745qvc.50.1641105444356;
Sat, 01 Jan 2022 22:37:24 -0800 (PST)
X-Received: by 2002:ad4:5cec:: with SMTP id iv12mr22754973qvb.130.1641105444245;
Sat, 01 Jan 2022 22:37:24 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 1 Jan 2022 22:37:24 -0800 (PST)
In-Reply-To: <d8b460d9-2a7c-4dd4-b667-7009634c1b1bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com> <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>
<c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com> <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>
<d8b460d9-2a7c-4dd4-b667-7009634c1b1bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a2e08f95-a75e-48da-8d64-21af9cd0eb49n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 06:37:24 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 7
 by: Nickolay Kolchin - Sun, 2 Jan 2022 06:37 UTC

On Friday, December 31, 2021 at 2:17:07 PM UTC+3, the.bee...@gmail.com wrote:
> Try implementing 4tH's IO scheme in standard Forth. Good luck. Implementing Forths FILE wordset in 4tH is trivial, however. Just a bunch of oneliners.
>

Can you explain what is so unique in "4tH IO scheme"?

P.S. 4tH is probably the best Forth distribution in terms of features you get
out-of-the-box at present time.

Re: Modern Forth

<2022Jan2.162342@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 02 Jan 2022 15:23:42 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 51
Message-ID: <2022Jan2.162342@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="32a4e73b19ad4f74e35b71f6da2b7d17";
logging-data="1351"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18lzmu8458wjAodcPuowK5V"
Cancel-Lock: sha1:2OxBbC9nIGDQL2e7FcPBwhpI/ig=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Sun, 2 Jan 2022 15:23 UTC

"minf...@arcor.de" <minforth@arcor.de> writes:
>Anton Ertl schrieb am Dienstag, 28. Dezember 2021 um 19:32:49 UTC+1:
>> What Forth needs for that is more performance and IMO better
>> guarantees (C moves away from the niche by telling low-level
>> programmers that they should not have relied on properties that the C
>> standard does not guarantee).
>
>There are very few applications that need more processing speed in a single CPU.

Even if true, these applications are a potential niche.

As for the veracity of that claim: Security researchers claim that all
the high-level stuff that people write resides on a layer of C code.
This C code is not rewritten in Java or Python for performance
reasons. Rust is trying to move into that spot and provide more
security, and we will see how successful that approach is. Meanwhile,
I think that Rust is too rigid to support all of the techniques
useful for good performance.

>Programmer time has become much more important.

More than what? The software crisis (software costs more than
hardware) has already been proclaimed in 1968.

>This implies eg
>- compiler performance for high semantical expressiveness

Pardon?

>- catching as meany errors as possible in an early development stage

Forth's traditional answer has been "testing" along with writing
easily testable software. I think that's a good answer, but the way
it has sometimes been done in Forth is not good enough: Typing
something in at the command line and then looking at the results is
not good enough.

> (most users/customers don't accept crashing as "bug detection facility")

If that was true, software would look differently.

>- good integration with powerful development and maintenance tools

We have that in Forth.

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Re: Modern Forth

<2022Jan2.165558@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 02 Jan 2022 15:55:58 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 28
Message-ID: <2022Jan2.165558@mips.complang.tuwien.ac.at>
References: <2021Dec28.194243@mips.complang.tuwien.ac.at> <2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me> <164021556075.7256.1660051478965156497@media.vsta.org> <164074187971.12111.2199145074425913636@media.vsta.org>
Injection-Info: reader02.eternal-september.org; posting-host="32a4e73b19ad4f74e35b71f6da2b7d17";
logging-data="1351"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19fLooBecjnQKeh7TyZjbuL"
Cancel-Lock: sha1:wkihpJPYxwxjHHdfJMjupjmhaic=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Sun, 2 Jan 2022 15:55 UTC

Andy Valencia <vandys@vsta.org> writes:
>However, if things really go off the rails:
>
>' flush-file ok
>. 187650824918704 ok
>: d 100000 0 do 0 i 187650824918704 + ! loop ; ok
>d ok
>
>
>Quit.
>(No response at all, not ^C, took ^\ to abort out to the shell.)

Yes, Gforth is not bullet-proof, and the second thing in the Gforth
tutorial is the crash course
<https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Crash-Course-Tutorial.html#Crash-Course-Tutorial>.

This is rarely a problem in my experience. We could organize Gforth
to turn off write permission from as much of the system as possible,
allowing to increase the bullet-resistance (but you can still corrupt
it through writing to data (like deferred words) that have to stay
writable), but for now the benefit/cost ratio is too low.

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Re: Modern Forth

<2022Jan2.170933@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 02 Jan 2022 16:09:33 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 35
Message-ID: <2022Jan2.170933@mips.complang.tuwien.ac.at>
References: <2021Dec29.162129@mips.complang.tuwien.ac.at> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me> <2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <spvgp6$35d$1@dont-email.me> <3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me> <164080051826.32574.7415135743381741296@media.vsta.org> <sqj836$kel$1@gioia.aioe.org>
Injection-Info: reader02.eternal-september.org; posting-host="32a4e73b19ad4f74e35b71f6da2b7d17";
logging-data="25742"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/G2uwQPVMbdS54YmyDbfgy"
Cancel-Lock: sha1:k5rHhUz8lwRI71foyIgPgnGECOw=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Sun, 2 Jan 2022 16:09 UTC

dxforth <dxforth@gmail.com> writes:
>Also I expect Python isn't a federation of implementers where each wants
>to 'have their cake and eat it too'.

CPython has a number of implementors who need to agree on what they
do, because they all work on the same implementation.

By contrast, there are many Forth systems, each with their own
implementor(s), and they can all go their own way, and do so. There
is the Forth200x effort to get some commonality among Forth systems,
but the difference to the CPython situation is: If the standard
stalls, a Forth system implementor can still implement whatever he
wants in his system; so there is much less reason for the participants
to find agreement in the Forth200x mechanism than in the PEP (Python
extension proposal) mechanism, and it's therefore also much slower.

Some may think that Python's way is better, leading to faster
advances. If so, what properties of Python and Forth have lead to
this? Maybe it's because it's much easier to write a basic Forth than
a basic Python. So people just do that; the result does not have all
the conveniences of, say, Gforth, but it's also less complex. The end
result is that programmers with an urge to work on language
implementations don't work on improving, say, Gforth, but on first
creating and them improving their own Forth. And maybe that's the
right way for Forth. By contrast, despite CPython being more complex
than Gforth, programmers with an urge for working on Python
implementation like to work on CPython rather than on their own Python
implementation.

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Re: Modern Forth

<afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:c21:: with SMTP id a1mr38759701qvd.100.1641141590038;
Sun, 02 Jan 2022 08:39:50 -0800 (PST)
X-Received: by 2002:a05:6214:5291:: with SMTP id kj17mr39340907qvb.51.1641141589869;
Sun, 02 Jan 2022 08:39:49 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 08:39:49 -0800 (PST)
In-Reply-To: <2022Jan2.162342@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 16:39:50 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Nickolay Kolchin - Sun, 2 Jan 2022 16:39 UTC

On Sunday, January 2, 2022 at 6:55:47 PM UTC+3, Anton Ertl wrote:

> >- good integration with powerful development and maintenance tools
> We have that in Forth.

What? You have LSP? Or ability to debug at machine level code? Or maybe
there is a Forth that can generate DWARF format, so we can just use
common tools for debugging. Or maybe you have profilers, at least
functionally equivalent to gprof. Or maybe you have "lint" tools?

The Forth ecosystem stuck somewhere in late 80th from past century...

Re: Modern Forth

<912125c8-38d0-460e-b5c4-b123b9f0150an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:60a:: with SMTP id z10mr38051018qta.175.1641142472776;
Sun, 02 Jan 2022 08:54:32 -0800 (PST)
X-Received: by 2002:a05:620a:4087:: with SMTP id f7mr30378985qko.56.1641142472631;
Sun, 02 Jan 2022 08:54:32 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 08:54:32 -0800 (PST)
In-Reply-To: <164074187971.12111.2199145074425913636@media.vsta.org>
Injection-Info: google-groups.googlegroups.com; posting-host=82.95.228.79; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 82.95.228.79
References: <2021Dec28.194243@mips.complang.tuwien.ac.at> <2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com>
<dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com>
<spvc9i$jr$1@dont-email.me> <164021556075.7256.1660051478965156497@media.vsta.org>
<164074187971.12111.2199145074425913636@media.vsta.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <912125c8-38d0-460e-b5c4-b123b9f0150an@googlegroups.com>
Subject: Re: Modern Forth
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Sun, 02 Jan 2022 16:54:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 34
 by: Hans Bezemer - Sun, 2 Jan 2022 16:54 UTC

On Wednesday, December 29, 2021 at 2:43:48 AM UTC+1, Andy Valencia wrote:
> an...@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> > You can ^C out of Gforth and other Forth systems, with some
> > differences in functionality.
> And you and your folks have done great things with gforth!
> And I find there's quite a bit of memory safety:
>
> : a 1000000 0 do 0 i ! loop ; ok
> a
> :2: Invalid memory address
> >>>a<<<
> Backtrace:
> $FFFFAE0E25D0 !
> $0
> $F4240
>
> However, if things really go off the rails:
>
> ' flush-file ok
> . 187650824918704 ok
> : d 100000 0 do 0 i 187650824918704 + ! loop ; ok
> d ok
If you want that kind of protection, you need 4tH:

$ pp4th -x test0.4th
Executing; Word 7: Bad variable
$ cat test0.4th
: d 100000 0 do 0 i dup . 187650824918704 + ! loop ;

d
$

I tested - NOTHING was written. 4tH was designed for exactly that by putting the whole thing in a sandbox.

Hans Bezemer

Re: Modern Forth

<d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:b3c7:: with SMTP id c190mr30318850qkf.730.1641142712554;
Sun, 02 Jan 2022 08:58:32 -0800 (PST)
X-Received: by 2002:ae9:de41:: with SMTP id s62mr29876141qkf.188.1641142712388;
Sun, 02 Jan 2022 08:58:32 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 08:58:32 -0800 (PST)
In-Reply-To: <2022Jan2.170933@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <2021Dec29.162129@mips.complang.tuwien.ac.at> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org> <sqj836$kel$1@gioia.aioe.org>
<2022Jan2.170933@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 16:58:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 31
 by: Nickolay Kolchin - Sun, 2 Jan 2022 16:58 UTC

On Sunday, January 2, 2022 at 7:37:33 PM UTC+3, Anton Ertl wrote:
> dxforth <dxf...@gmail.com> writes:
> >Also I expect Python isn't a federation of implementers where each wants
> >to 'have their cake and eat it too'.
>
> CPython has a number of implementors who need to agree on what they
> do, because they all work on the same implementation.
>

You prefer to forget about Pypy, Jython, Pyston, GraalVM Python,
MicroPython, etc...

> By contrast, there are many Forth systems, each with their own
> implementor(s), and they can all go their own way, and do so.

Name Forth system that appears in past 10 years and has evolved to
something bigger than toy project. I can name only zeptoforth.

> There
> is the Forth200x effort to get some commonality among Forth systems,
> but the difference to the CPython situation is: If the standard
> stalls, a Forth system implementor can still implement whatever he
> wants in his system; so there is much less reason for the participants
> to find agreement in the Forth200x mechanism than in the PEP (Python
> extension proposal) mechanism, and it's therefore also much slower.

And here comes the biggest reality misunderstanding. Actually, people
implement basic Forth system, make it compatible with ANS/2012 and
stop at this step. Cause they treat your papers as current "top level" of
language.

Re: Modern Forth

<sqsm57$5q9$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: clf...@8th-dev.com (Ron AARON)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 2 Jan 2022 19:07:51 +0200
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <sqsm57$5q9$1@dont-email.me>
References: <2021Dec29.162129@mips.complang.tuwien.ac.at>
<dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com>
<spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com>
<spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com>
<sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org>
<sqj836$kel$1@gioia.aioe.org> <2022Jan2.170933@mips.complang.tuwien.ac.at>
<d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 2 Jan 2022 17:07:51 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="50d8ed55193d561c948bab4b99dd1d70";
logging-data="5961"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19mSrc/FqQBscQY38TG9chG"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.4.1
Cancel-Lock: sha1:6eFTaKgzesyKKeipHNTHuLJpLJk=
In-Reply-To: <d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
Content-Language: en-US
 by: Ron AARON - Sun, 2 Jan 2022 17:07 UTC

On 2022-01-02 18:58, Nickolay Kolchin wrote:
> On Sunday, January 2, 2022 at 7:37:33 PM UTC+3, Anton Ertl wrote:
>> dxforth <dxf...@gmail.com> writes:
>>> Also I expect Python isn't a federation of implementers where each wants
>>> to 'have their cake and eat it too'.
>>
>> CPython has a number of implementors who need to agree on what they
>> do, because they all work on the same implementation.
>>
>
> You prefer to forget about Pypy, Jython, Pyston, GraalVM Python,
> MicroPython, etc...
>
>> By contrast, there are many Forth systems, each with their own
>> implementor(s), and they can all go their own way, and do so.
>
> Name Forth system that appears in past 10 years and has evolved to
> something bigger than toy project. I can name only zeptoforth.

Perhaps you don't consider 8th a Forth, or perhaps you think it's a toy
project?

Re: Modern Forth

<2022Jan2.173826@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 02 Jan 2022 16:38:26 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 82
Message-ID: <2022Jan2.173826@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <8fff5ed7-8475-434e-b132-16b401a867dbn@googlegroups.com> <7d0af593-02fc-4213-be42-46fbd82f456cn@googlegroups.com> <87mtkswfoy.fsf@nightsong.com> <a493c9c9-7321-4ee4-a14d-f1e8c8c4829dn@googlegroups.com> <87a6grx58e.fsf@nightsong.com> <693d3e71-2cfa-4923-9102-ad6986ea26c2n@googlegroups.com> <875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com> <87sfuask8t.fsf@nightsong.com>
Injection-Info: reader02.eternal-september.org; posting-host="32a4e73b19ad4f74e35b71f6da2b7d17";
logging-data="12607"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/2IBqEYX5QKOVbLA3Ui0Mx"
Cancel-Lock: sha1:zki0nQT1+tNq0YgW59j1tIE19D0=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Sun, 2 Jan 2022 16:38 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>There should also be
>some modifications to e.g. DOES> to be friendlier for target cpus with
>program memory in flash instead of ram.

I have made some suggestions on better approaches for that problem,
but there has been little resonance, so it seems to me that those
working on such targets are happy with the not-quite-standard way they
implement DOES> for now.

Thinking about it again, Gforth now has CREATE-FROM:

: create-from ( nt "name" -- ) \ gforth
\G Create a word @i{name} that behaves like @i{nt}, but with an
\G empty body. @i{nt} must be the nt of a named word. The
\G resulting header is not yet revealed.

In Gforth CREATE-FROM is used for performance, and you can still use
IMMEDIATE, DOES>, SET-OPTIMIZER etc. on the word (but throw away the
performance advantage if you do). But it inspires the idea that on a
flash system one could define a template for other words, ideally in a
way that does not require overwriting, and then have a word like
CREATE-FROM that generates a header, again without overwriting.

E.g., instead of:

: myconst
create ,
does>
@ ;

one might write something like

template: myconst-template
' @ set-does> ;template

: myconst
['] myconst-template define-from , ;

>This was also of interest: https://queue.acm.org/detail.cfm?id=3212479
>
>It says that the old flat-memory single-threaded cpu abstraction no
>longer really reflects the hardware. So maybe it's best to e.g. get rid
>of the cache hierarchy and explicitly expose multiple levels of slower
>and faster memory.

This is nonsense in every area where the software crisis reigns (i.e.,
pretty much everything but supercomputing, and even there they have
been using cached CPUs for a long while). Nevertheless, the idea is
apparently very seductive, as can be seen from this article, but even
higher-profile was the Cell architecture of the PlayStation 3.

The Cell chip in the PS3 has one regular PPC (with caches), and 7
special PPCs (SPEs) each with their own 256KB of SRAM (but not as
caches). Software has to arrange for the data to get into the SPEs
RAM so that the SPE can work on it.

Apparently Sony thought that the software crisis does not reign in
games development (at least not in the part they intended for the
SPEs), and that game developers would be willing to invest the extra
development effort to get the additional performance from the SPEs;
after all, much of the CPU time is spent in a few kernels, and it
should not be so hard to adapt these to the SPEs. From what I hear,
they were wrong, and game developers had difficulty getting good
performance out of a PS3. The PS4 certainly used a more conventional
architecture with 8 (small) cores that can access main memory and that
have caches.

Anyway, the flat memory abstraction combined with caches and hardware
prefetching has proven to work very well, for both programmability and
performance. For special cases processors have software prefetch
instructions (but it has often turned out that using them produced a
slowdown, i.e., hardware prefetching works just as well), and store
instructions that tell the cache that the data will not be used soon
(so the cache will not hold onto that data).

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Re: Modern Forth

<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1c8b:: with SMTP id ib11mr9011158qvb.82.1641147104290;
Sun, 02 Jan 2022 10:11:44 -0800 (PST)
X-Received: by 2002:a37:78b:: with SMTP id 133mr27342327qkh.99.1641147104116;
Sun, 02 Jan 2022 10:11:44 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 10:11:43 -0800 (PST)
In-Reply-To: <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:7516:ed0f:340:4916;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:7516:ed0f:340:4916
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Sun, 02 Jan 2022 18:11:44 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 28
 by: Marcel Hendrix - Sun, 2 Jan 2022 18:11 UTC

On Sunday, January 2, 2022 at 5:39:50 PM UTC+1, Nickolay Kolchin wrote:
> On Sunday, January 2, 2022 at 6:55:47 PM UTC+3, Anton Ertl wrote:
>
> > >- good integration with powerful development and maintenance tools
> > We have that in Forth.
> What? You have LSP? Or ability to debug at machine level code? Or maybe
> there is a Forth that can generate DWARF format, so we can just use
> common tools for debugging. Or maybe you have profilers, at least
> functionally equivalent to gprof. Or maybe you have "lint" tools?

In iForth I can open a C-server debug build and then attach to a
running iwserver.exe. It is then possible to debug in Forth as
usual (on the Forth command line), and at the same time
inspect and debug with the C tools (normally from within
the Visual Studio GUI). Display of memory and structures
is easier done in Forth (you can type in Forth on-the-fly
macros to help and do introspection, even for the C-side)
but step-by-step running and debugging of FPU stack-ops
is much easier in C.
These features helps quite a bit when calling DLLs and
handling callbacks, because it is possible to see both
sides of the transaction in their respective native
format. It also saves time when looking up native C
and OS magic constants and untangling C macro's:
just look at the meory from the Forth side.

I seldom need to do this, but indeed, it is nice to have.

-marcel

Re: Modern Forth

<c8096e04-1ed3-4988-8c19-0585f369956cn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:5f89:: with SMTP id jp9mr39870656qvb.39.1641147878894;
Sun, 02 Jan 2022 10:24:38 -0800 (PST)
X-Received: by 2002:a05:6214:c8e:: with SMTP id r14mr39072444qvr.38.1641147878729;
Sun, 02 Jan 2022 10:24:38 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 10:24:38 -0800 (PST)
In-Reply-To: <bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c8096e04-1ed3-4988-8c19-0585f369956cn@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 18:24:38 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 29
 by: Nickolay Kolchin - Sun, 2 Jan 2022 18:24 UTC

On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
> On Sunday, January 2, 2022 at 5:39:50 PM UTC+1, Nickolay Kolchin wrote:
> > On Sunday, January 2, 2022 at 6:55:47 PM UTC+3, Anton Ertl wrote:
> >
> > > >- good integration with powerful development and maintenance tools
> > > We have that in Forth.
> > What? You have LSP? Or ability to debug at machine level code? Or maybe
> > there is a Forth that can generate DWARF format, so we can just use
> > common tools for debugging. Or maybe you have profilers, at least
> > functionally equivalent to gprof. Or maybe you have "lint" tools?
> In iForth I can open a C-server debug build and then attach to a
> running iwserver.exe. It is then possible to debug in Forth as
> usual (on the Forth command line), and at the same time
> inspect and debug with the C tools (normally from within
> the Visual Studio GUI). Display of memory and structures
> is easier done in Forth (you can type in Forth on-the-fly
> macros to help and do introspection, even for the C-side)
> but step-by-step running and debugging of FPU stack-ops
> is much easier in C.
> These features helps quite a bit when calling DLLs and
> handling callbacks, because it is possible to see both
> sides of the transaction in their respective native
> format. It also saves time when looking up native C
> and OS magic constants and untangling C macro's:
> just look at the meory from the Forth side.
>
> I seldom need to do this, but indeed, it is nice to have.
>

That's great, but fills only single entry from my list.

Re: Modern Forth

<d629ebf8-1987-4ffa-8de6-18f53380c50an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:1477:: with SMTP id j23mr31117111qkl.152.1641148465460;
Sun, 02 Jan 2022 10:34:25 -0800 (PST)
X-Received: by 2002:a05:620a:4691:: with SMTP id bq17mr30597284qkb.510.1641148465295;
Sun, 02 Jan 2022 10:34:25 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 10:34:25 -0800 (PST)
In-Reply-To: <sqsm57$5q9$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <2021Dec29.162129@mips.complang.tuwien.ac.at> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org> <sqj836$kel$1@gioia.aioe.org>
<2022Jan2.170933@mips.complang.tuwien.ac.at> <d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
<sqsm57$5q9$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d629ebf8-1987-4ffa-8de6-18f53380c50an@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 18:34:25 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 23
 by: Nickolay Kolchin - Sun, 2 Jan 2022 18:34 UTC

On Sunday, January 2, 2022 at 8:07:53 PM UTC+3, Ron AARON wrote:
> On 2022-01-02 18:58, Nickolay Kolchin wrote:
> > On Sunday, January 2, 2022 at 7:37:33 PM UTC+3, Anton Ertl wrote:
> >> dxforth <dxf...@gmail.com> writes:
> >>> Also I expect Python isn't a federation of implementers where each wants
> >>> to 'have their cake and eat it too'.
> >>
> >> CPython has a number of implementors who need to agree on what they
> >> do, because they all work on the same implementation.
> >>
> >
> > You prefer to forget about Pypy, Jython, Pyston, GraalVM Python,
> > MicroPython, etc...
> >
> >> By contrast, there are many Forth systems, each with their own
> >> implementor(s), and they can all go their own way, and do so.
> >
> > Name Forth system that appears in past 10 years and has evolved to
> > something bigger than toy project. I can name only zeptoforth.
> Perhaps you don't consider 8th a Forth, or perhaps you think it's a toy
> project?

I treat 8th in same category as Factor. Different language that has
Forth as one of the ancestors.

Re: Modern Forth

<59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1112:: with SMTP id e18mr37757154qty.226.1641148757301;
Sun, 02 Jan 2022 10:39:17 -0800 (PST)
X-Received: by 2002:a05:620a:11b8:: with SMTP id c24mr27449591qkk.227.1641148757063;
Sun, 02 Jan 2022 10:39:17 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 10:39:16 -0800 (PST)
In-Reply-To: <bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Sun, 02 Jan 2022 18:39:17 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 29
 by: Nickolay Kolchin - Sun, 2 Jan 2022 18:39 UTC

On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
> On Sunday, January 2, 2022 at 5:39:50 PM UTC+1, Nickolay Kolchin wrote:
> > On Sunday, January 2, 2022 at 6:55:47 PM UTC+3, Anton Ertl wrote:
> >
> > > >- good integration with powerful development and maintenance tools
> > > We have that in Forth.
> > What? You have LSP? Or ability to debug at machine level code? Or maybe
> > there is a Forth that can generate DWARF format, so we can just use
> > common tools for debugging. Or maybe you have profilers, at least
> > functionally equivalent to gprof. Or maybe you have "lint" tools?
> In iForth I can open a C-server debug build and then attach to a
> running iwserver.exe. It is then possible to debug in Forth as
> usual (on the Forth command line), and at the same time
> inspect and debug with the C tools (normally from within
> the Visual Studio GUI). Display of memory and structures
> is easier done in Forth (you can type in Forth on-the-fly
> macros to help and do introspection, even for the C-side)
> but step-by-step running and debugging of FPU stack-ops
> is much easier in C.
> These features helps quite a bit when calling DLLs and
> handling callbacks, because it is possible to see both
> sides of the transaction in their respective native
> format. It also saves time when looking up native C
> and OS magic constants and untangling C macro's:
> just look at the meory from the Forth side.
>
> I seldom need to do this, but indeed, it is nice to have.
>

Btw, do you have coverage support in iForth?

Re: Modern Forth

<83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:2c9:: with SMTP id a9mr37664126qtx.28.1641155398757;
Sun, 02 Jan 2022 12:29:58 -0800 (PST)
X-Received: by 2002:a05:620a:4087:: with SMTP id f7mr30817332qko.56.1641155398619;
Sun, 02 Jan 2022 12:29:58 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 12:29:58 -0800 (PST)
In-Reply-To: <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:7516:ed0f:340:4916;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:7516:ed0f:340:4916
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com> <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Sun, 02 Jan 2022 20:29:58 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Marcel Hendrix - Sun, 2 Jan 2022 20:29 UTC

On Sunday, January 2, 2022 at 7:39:17 PM UTC+1, Nickolay Kolchin wrote:
> On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
[..]
> > I seldom need to do this, but indeed, it is nice to have.
> >
> Btw, do you have coverage support in iForth?

No, but you can automate lprofiler.frt ( published in FD, CLF, or here
http://www.iaehv.nl/users/mhx/programs.html ) to emit a report.

-marcel

Re: Modern Forth

<sqtcge$iau$2@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ema...@example.com (meff)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Sun, 2 Jan 2022 23:29:19 -0000 (UTC)
Organization: That of fools
Lines: 25
Message-ID: <sqtcge$iau$2@dont-email.me>
References: <2021Dec29.162129@mips.complang.tuwien.ac.at>
<dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com>
<spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com>
<spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com>
<sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org>
<sqj836$kel$1@gioia.aioe.org> <2022Jan2.170933@mips.complang.tuwien.ac.at>
<d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
Injection-Date: Sun, 2 Jan 2022 23:29:19 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="032a82535cd5ffcb936e580eed565b59";
logging-data="18782"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19rrxX/zBhMt7Q6Ql11maHW"
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:75zR9CYnjijxSp9rDmjSzzbCzyo=
 by: meff - Sun, 2 Jan 2022 23:29 UTC

On 2022-01-02, Nickolay Kolchin <nbkolchin@gmail.com> wrote:
> You prefer to forget about Pypy, Jython, Pyston, GraalVM Python,
> MicroPython, etc...

Yes and they've always been plagued by a lack of interest by most
developers as mindshare remains in CPython. This has been a point of
much complaint by folks behind Pypy for example.

> And here comes the biggest reality misunderstanding. Actually, people
> implement basic Forth system, make it compatible with ANS/2012 and
> stop at this step. Cause they treat your papers as current "top level" of
> language.

I really disagree with this. I do think there's a type of compilers'
interested software engineer who loves to make programming languages
that finds themselves irresistably attracted to Forth. They'll come
in, talk about how elegant the Forth interpreter is, make a barebones
Forth, and then leave. I think this type of engineer does "damage" to
the Forth "brand", but I mean, they are independent engineers free to
do what they wish.

Retro Forth is another Forth I suggest you take a look at if you're
interested in modern Forths.

- meff

Re: Modern Forth

<10899277-b71a-4976-a2c7-6341d61dbd86n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5806:: with SMTP id g6mr38845230qtg.581.1641188542604;
Sun, 02 Jan 2022 21:42:22 -0800 (PST)
X-Received: by 2002:ac8:590a:: with SMTP id 10mr38934420qty.186.1641188542434;
Sun, 02 Jan 2022 21:42:22 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 21:42:22 -0800 (PST)
In-Reply-To: <83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com> <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
<83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <10899277-b71a-4976-a2c7-6341d61dbd86n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Mon, 03 Jan 2022 05:42:22 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 11
 by: Nickolay Kolchin - Mon, 3 Jan 2022 05:42 UTC

On Sunday, January 2, 2022 at 11:29:59 PM UTC+3, Marcel Hendrix wrote:
> On Sunday, January 2, 2022 at 7:39:17 PM UTC+1, Nickolay Kolchin wrote:
> > On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
> [..]
> > > I seldom need to do this, but indeed, it is nice to have.
> > >
> > Btw, do you have coverage support in iForth?
> No, but you can automate lprofiler.frt ( published in FD, CLF, or here
> http://www.iaehv.nl/users/mhx/programs.html ) to emit a report.
>

Link broken. 404.

Re: Modern Forth

<eaa7aeb5-3755-4939-90f8-155438b4851en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:2441:: with SMTP id h1mr31931274qkn.618.1641191536502;
Sun, 02 Jan 2022 22:32:16 -0800 (PST)
X-Received: by 2002:ad4:5aad:: with SMTP id u13mr40911640qvg.46.1641191536259;
Sun, 02 Jan 2022 22:32:16 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 22:32:16 -0800 (PST)
In-Reply-To: <sqtcge$iau$2@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <2021Dec29.162129@mips.complang.tuwien.ac.at> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org> <sqj836$kel$1@gioia.aioe.org>
<2022Jan2.170933@mips.complang.tuwien.ac.at> <d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
<sqtcge$iau$2@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eaa7aeb5-3755-4939-90f8-155438b4851en@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Mon, 03 Jan 2022 06:32:16 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 29
 by: Nickolay Kolchin - Mon, 3 Jan 2022 06:32 UTC

On Monday, January 3, 2022 at 2:29:20 AM UTC+3, meff wrote:
> On 2022-01-02, Nickolay Kolchin <nbko...@gmail.com> wrote:
> > You prefer to forget about Pypy, Jython, Pyston, GraalVM Python,
> > MicroPython, etc...
> Yes and they've always been plagued by a lack of interest by most
> developers as mindshare remains in CPython. This has been a point of
> much complaint by folks behind Pypy for example.

True. Maybe this is part of Python general success?

> > And here comes the biggest reality misunderstanding. Actually, people
> > implement basic Forth system, make it compatible with ANS/2012 and
> > stop at this step. Cause they treat your papers as current "top level" of
> > language.
> I really disagree with this. I do think there's a type of compilers'
> interested software engineer who loves to make programming languages
> that finds themselves irresistably attracted to Forth. They'll come
> in, talk about how elegant the Forth interpreter is, make a barebones
> Forth, and then leave. I think this type of engineer does "damage" to
> the Forth "brand", but I mean, they are independent engineers free to
> do what they wish.

I don't follow you.

>
> Retro Forth is another Forth I suggest you take a look at if you're
> interested in modern Forths.

I've looked at it briefly and found nothing interesting. The combinators
are more complete in Factor. Sigils are dubious concept imho.

Re: Modern Forth

<squ6ql$a60$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ema...@example.com (meff)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Mon, 3 Jan 2022 06:58:29 -0000 (UTC)
Organization: That of fools
Lines: 24
Message-ID: <squ6ql$a60$1@dont-email.me>
References: <2021Dec29.162129@mips.complang.tuwien.ac.at>
<dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com>
<spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com>
<spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com>
<sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org>
<sqj836$kel$1@gioia.aioe.org> <2022Jan2.170933@mips.complang.tuwien.ac.at>
<d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
<sqtcge$iau$2@dont-email.me>
<eaa7aeb5-3755-4939-90f8-155438b4851en@googlegroups.com>
Injection-Date: Mon, 3 Jan 2022 06:58:29 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="a7538ef1012f77512d792b4661a8278e";
logging-data="10432"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX194BYJu5C+QSRsbuMwlXm8L"
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:ZG4RvKftxDcRQ4HGJr0p04gEfKU=
 by: meff - Mon, 3 Jan 2022 06:58 UTC

On 2022-01-03, Nickolay Kolchin <nbkolchin@gmail.com> wrote:
> True. Maybe this is part of Python general success?

Maybe, maybe not. I'm not particularly sympathetic to the folks who
crave more attention from CPython developers because of just how good
CPython is.

>> I really disagree with this. I do think there's a type of compilers'
>> interested software engineer who loves to make programming languages
>> that finds themselves irresistably attracted to Forth. They'll come
>> in, talk about how elegant the Forth interpreter is, make a barebones
>> Forth, and then leave. I think this type of engineer does "damage" to
>> the Forth "brand", but I mean, they are independent engineers free to
>> do what they wish.
>
> I don't follow you.

Forth's core interpreter is very simple, right? It means that somebody
with a decent understanding of basic computer architecture works can
have the core intpreter working inefficiently. A lot of folks who like
building languages come into this community, build the basic
interpreter, and then leave once the rest of the work becomes building
all the scaffolding words around the interpreter and less about making
a language from scratch.

Re: Modern Forth

<4ff31b53-6609-4281-b330-d42b1585ad23n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5ad1:: with SMTP id d17mr39429382qtd.23.1641196305933;
Sun, 02 Jan 2022 23:51:45 -0800 (PST)
X-Received: by 2002:a05:622a:10e:: with SMTP id u14mr38802004qtw.493.1641196305766;
Sun, 02 Jan 2022 23:51:45 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 2 Jan 2022 23:51:45 -0800 (PST)
In-Reply-To: <squ6ql$a60$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f16:6f63:297c:abcb:f2fc:1f34;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f16:6f63:297c:abcb:f2fc:1f34
References: <2021Dec29.162129@mips.complang.tuwien.ac.at> <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com> <spvc9i$jr$1@dont-email.me>
<2a435786-587a-4a84-8e23-3786b8a5aea7n@googlegroups.com> <spvgp6$35d$1@dont-email.me>
<3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me>
<164080051826.32574.7415135743381741296@media.vsta.org> <sqj836$kel$1@gioia.aioe.org>
<2022Jan2.170933@mips.complang.tuwien.ac.at> <d0fe632b-2be5-4cca-8b83-3e0c9381a359n@googlegroups.com>
<sqtcge$iau$2@dont-email.me> <eaa7aeb5-3755-4939-90f8-155438b4851en@googlegroups.com>
<squ6ql$a60$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4ff31b53-6609-4281-b330-d42b1585ad23n@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Mon, 03 Jan 2022 07:51:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 28
 by: minf...@arcor.de - Mon, 3 Jan 2022 07:51 UTC

meff schrieb am Montag, 3. Januar 2022 um 07:58:31 UTC+1:
> On 2022-01-03, Nickolay Kolchin <nbko...@gmail.com> wrote:
> > True. Maybe this is part of Python general success?
> Maybe, maybe not. I'm not particularly sympathetic to the folks who
> crave more attention from CPython developers because of just how good
> CPython is.
> >> I really disagree with this. I do think there's a type of compilers'
> >> interested software engineer who loves to make programming languages
> >> that finds themselves irresistably attracted to Forth. They'll come
> >> in, talk about how elegant the Forth interpreter is, make a barebones
> >> Forth, and then leave. I think this type of engineer does "damage" to
> >> the Forth "brand", but I mean, they are independent engineers free to
> >> do what they wish.
> >
> > I don't follow you.
> Forth's core interpreter is very simple, right? It means that somebody
> with a decent understanding of basic computer architecture works can
> have the core intpreter working inefficiently. A lot of folks who like
> building languages come into this community, build the basic
> interpreter, and then leave once the rest of the work becomes building
> all the scaffolding words around the interpreter and less about making
> a language from scratch.

I don't think that this is bad per se. It proves that Forth's core idea is sound
and when you develop for a MCU you don't need much more in addition than
MCU-specific interfaces, perhaps multitasking.

Things look different for desktop systens though, and when you wish to
share software with other people.

Re: Modern Forth

<8da97d0f-89a7-4672-8c1d-d485cad3ac00n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:2622:: with SMTP id gv2mr40980240qvb.128.1641197873855;
Mon, 03 Jan 2022 00:17:53 -0800 (PST)
X-Received: by 2002:ac8:590a:: with SMTP id 10mr39188816qty.186.1641197873716;
Mon, 03 Jan 2022 00:17:53 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 3 Jan 2022 00:17:53 -0800 (PST)
In-Reply-To: <10899277-b71a-4976-a2c7-6341d61dbd86n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:d186:84d1:65a7:895c;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:d186:84d1:65a7:895c
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com> <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
<83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com> <10899277-b71a-4976-a2c7-6341d61dbd86n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8da97d0f-89a7-4672-8c1d-d485cad3ac00n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Mon, 03 Jan 2022 08:17:53 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 14
 by: Marcel Hendrix - Mon, 3 Jan 2022 08:17 UTC

On Monday, January 3, 2022 at 6:42:23 AM UTC+1, Nickolay Kolchin wrote:
> On Sunday, January 2, 2022 at 11:29:59 PM UTC+3, Marcel Hendrix wrote:
> > On Sunday, January 2, 2022 at 7:39:17 PM UTC+1, Nickolay Kolchin wrote:
> > > On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
> > [..]
> > > > I seldom need to do this, but indeed, it is nice to have.
> > > >
> > > Btw, do you have coverage support in iForth?
> > No, but you can automate lprofiler.frt ( published in FD, CLF, or here
> > http://www.iaehv.nl/users/mhx/programs.html ) to emit a report.
> >
> Link broken. 404.

http://home.iae.nl/users/mhx/lprofile.frt
http://home.iae.nl/users/mhx/lprof.frt

Re: Modern Forth

<a44a5580-d0dd-45b9-97f8-b0b8a9719ce2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1d0d:: with SMTP id e13mr41426822qvd.69.1641203962451;
Mon, 03 Jan 2022 01:59:22 -0800 (PST)
X-Received: by 2002:ad4:5cec:: with SMTP id iv12mr26063151qvb.130.1641203962140;
Mon, 03 Jan 2022 01:59:22 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Mon, 3 Jan 2022 01:59:22 -0800 (PST)
In-Reply-To: <8da97d0f-89a7-4672-8c1d-d485cad3ac00n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=213.21.29.203; posting-account=DoM31goAAADuzlbg5XKrMFannjkYS2Lr
NNTP-Posting-Host: 213.21.29.203
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<2021Dec28.191523@mips.complang.tuwien.ac.at> <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
<2022Jan2.162342@mips.complang.tuwien.ac.at> <afe6f347-7f65-4317-8e85-ac42631b7bc2n@googlegroups.com>
<bfe2ad9f-0804-44c8-b653-9a9255d4b747n@googlegroups.com> <59d1624c-ffd7-49e9-b054-e70b224ed37dn@googlegroups.com>
<83f3861b-e694-4e53-818f-1add89327310n@googlegroups.com> <10899277-b71a-4976-a2c7-6341d61dbd86n@googlegroups.com>
<8da97d0f-89a7-4672-8c1d-d485cad3ac00n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a44a5580-d0dd-45b9-97f8-b0b8a9719ce2n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Mon, 03 Jan 2022 09:59:22 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 18
 by: Nickolay Kolchin - Mon, 3 Jan 2022 09:59 UTC

On Monday, January 3, 2022 at 11:17:54 AM UTC+3, Marcel Hendrix wrote:
> On Monday, January 3, 2022 at 6:42:23 AM UTC+1, Nickolay Kolchin wrote:
> > On Sunday, January 2, 2022 at 11:29:59 PM UTC+3, Marcel Hendrix wrote:
> > > On Sunday, January 2, 2022 at 7:39:17 PM UTC+1, Nickolay Kolchin wrote:
> > > > On Sunday, January 2, 2022 at 9:11:45 PM UTC+3, Marcel Hendrix wrote:
> > > [..]
> > > > > I seldom need to do this, but indeed, it is nice to have.
> > > > >
> > > > Btw, do you have coverage support in iForth?
> > > No, but you can automate lprofiler.frt ( published in FD, CLF, or here
> > > http://www.iaehv.nl/users/mhx/programs.html ) to emit a report.
> > >
> > Link broken. 404.
> http://home.iae.nl/users/mhx/lprofile.frt
> http://home.iae.nl/users/mhx/lprof.frt

That's just great. Pity it can't be expressed in Standard Forth...

P.S. Actually, this is a great example of what makes Forth unique.

Re: Modern Forth

<2022Jan3.150203@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Mon, 03 Jan 2022 14:02:03 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 97
Message-ID: <2022Jan3.150203@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com> <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com> <c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com> <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com> <87bl0xrtk9.fsf@nightsong.com> <2021Dec31.150047@mips.complang.tuwien.ac.at> <87tuenqblj.fsf@nightsong.com>
Injection-Info: reader02.eternal-september.org; posting-host="d2ff4cf4d9565f5ed7aa38586fbd14d6";
logging-data="8847"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QDuftzB3O2TY84V/mehN+"
Cancel-Lock: sha1:LSZFiWyGGBMPR1oZdyHjAf80L58=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 3 Jan 2022 14:02 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>> And then he uses enforced run-time guarding to guarantee that control
>> flow never reaches the words unless the type is correct. I.e.,
>>
>> empty-board (board-empty) 1 1 x-move ( board ) 0 0 o-move
>>
>> would result in a type error at the second move, because move just
>> returns the board supertype, but not one of the types that MOVE
>> accepts.
>
>The idea is that an X move returns a board state waiting for an O move
>and vice versa.

Nope. An x move returns either a finished board (and no move is
possible) or an unfinished board where an o move can be made;
therefore the result of x-move is a superclass of board-finished and
board-next-o: board.

>So that example would be
>
>empty-board ( board-empty ) 1 1 x-move ( board-next-o ) 0 0 o-move

This would fail the requirement that no move can be compiled unless
you know that the game is not yet finished.

>> Something like having o-move in the board-next-o wordlist, and having
>> a guarding word, used like this:
>>
>> ( board ) 0 0 rot guard-board-next-o o-move 2drop
>
>1) this still seems like a runtime check since initial board state
>doesn't say whose turn it is,

I am sorry that I was overly terse and only showed the changed part.
The whole replacement for the example above is:

empty-board (board-empty) 1 1 x-move
( board ) 0 0 rot guard-board-next-o o-move 2drop

GUARD-BOARD-NEXT-O indeed performs a run-time check, just like a
typical type-case in any other language that can satisfy his
requirements. Instead of GUARD-BOARD-NEXT-O, one might also instead
use something along the lines of

empty-board (board-empty) 1 1 x-move
( board ) 0 0 rot case
board-next-o-of o-move \ no OF ENDOF, because BOARD-NEXT-O-OF parses O-MOVE
board-finished-of ...
assert( false )
endcase

But of course you are right that you can always satisfy the static
type checker (in all such languages) by wrapping the statically
type-checked word in a dynamically type-checked guard. That's why I
find his insistence on static type checking so unconvincing.

>2) the board state is passed on the (untyped) Forth stack, so even if
>its state was once known, stack operations can interfere with the
>wordlist based type checking,

Take a look at the source code of GUARD-BOARD-NEXT-O; it checks the
type of the item on the top-of-stack, and only if it is correct,
performs O-MOVE. If you swap something else to the TOS,
GUARD-BOARD-NEXT-O will find that it is not the right type, and will
perform the 2DROP instead.

Admittedly, you might pass an integer on the TOS that happens to have
the same bit pattern as a valid board address, but the chances of that
happening by chance are very small.

>3) the API "o-move" is now replaced by two words that must be invoked
>consecutively, one of which is part of the official API and the other of
>which is not. Maybe that is ok, but it leaves the API client to (maybe
>incorrectly) implement guard-board-next-o.

GUARD-BOARD-NEXT-O is the replacement for the type-guard or type-case
built into a statically typed language. Yes, GUARD-BOARD-NEXT-O may
be implemented incorrectly, but so can be the compiler of the
statically typed language.

>The original premise of the
>exercise was for the API implementer to hand over some type declarations
>and say "if the compiler doesn't accept that your data satisfies those
>types, then something is wrong with your data". Thus it places faith
>in the compiler's typechecker that it doesn't place in the API client
>implementation.

Then consider GUARD-BOARD-NEXT-O, or the generator that would generate
it in a more worked-out example, as part of the type checker.

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Re: Modern Forth

<2022Jan3.153548@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Mon, 03 Jan 2022 14:35:48 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 25
Message-ID: <2022Jan3.153548@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com> <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com> <c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com> <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com> <87bl0xrtk9.fsf@nightsong.com> <2021Dec31.150047@mips.complang.tuwien.ac.at> <87tuenqblj.fsf@nightsong.com> <87pmpbqbfb.fsf@nightsong.com>
Injection-Info: reader02.eternal-september.org; posting-host="d2ff4cf4d9565f5ed7aa38586fbd14d6";
logging-data="8847"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19qoI/8kqdp+tosoCHh6+2l"
Cancel-Lock: sha1:ixoCrJ9zWBm84+7lbu6m9Ac0ZHo=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 3 Jan 2022 14:35 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>Paul Rubin <no.email@nospam.invalid> writes:
>> empty-board ( board-empty ) 1 1 x-move ( board-next-o ) 0 0 o-move
>
>Oh actually you write, x-move must contain a wrapped object containing
>either board-next-o or board-finished. So the client must distinguish
>those two at runtime and only call o-move in the event that the X move
>returned board-next-o.
>
>My Haskell solution did the above with a GADT

What is a GADT? The Wikipedia page is totally unenlightening.

>and type refinement using
>a case statement, iirc.

I expected so, and my sketch goes in the same direction (but with a
guard instead of a case for simplicity).

- 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: http://www.forth200x.org/forth200x.html
EuroForth 2021: https://euro.theforth.net/2021

Pages:1234567
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor