Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Trying to establish voice contact ... please ____yell into keyboard.


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

<2021Dec29.175044@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Wed, 29 Dec 2021 16:50:44 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 18
Message-ID: <2021Dec29.175044@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <0a1b9cdf-9088-43ab-ad1f-c991b7a41377n@googlegroups.com> <ffb8fd98-983b-4f3f-b994-f363ade6289en@googlegroups.com> <d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com> <3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com> <2021Dec23.182939@mips.complang.tuwien.ac.at> <83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com> <87wnjuv2p4.fsf@nightsong.com> <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="2e141295c0dddb58798421c960cadba4";
logging-data="32095"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19KpIQV/l90HcNdlRX1IfuS"
Cancel-Lock: sha1:Tub+LvQHCzyt+tYpoOxlfsgw/Yo=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 29 Dec 2021 16:50 UTC

Marcel Hendrix <mhx@iae.nl> writes:
>Ok, can we at least ask that the prover processes its own source code
>with positive results?

Unlikely, at least in full; you probably run into one of Goedel's
incompleteness theorems or something similar. You can probably have
the prover prove properties of most of its code, but there will be a
part P that is beyond its capabilities. In theory it's possible to
write a more complex prover that can prove that part, but then how do
you prove that prover? A more practical approach is to prove P
manually.

- 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

<2021Dec29.183129@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Wed, 29 Dec 2021 17:31:29 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 18
Message-ID: <2021Dec29.183129@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com> <2021Dec23.182939@mips.complang.tuwien.ac.at> <83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com> <87wnjuv2p4.fsf@nightsong.com> <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com> <87k0fuute2.fsf@nightsong.com> <c4dcea02-7707-4150-972a-78d72c936251n@googlegroups.com> <fba13bfa-b27e-4b4e-b075-3130d9589d29n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="2e141295c0dddb58798421c960cadba4";
logging-data="23883"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19jChhqmjYwhwuTybp6KGdX"
Cancel-Lock: sha1:l9GIii/KHB2ejoJLeyDJu1Ip8XA=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 29 Dec 2021 17:31 UTC

"minf...@arcor.de" <minforth@arcor.de> writes:
>"Unfortunately" Forth is type-free and any cell can be used or abused to any
>clever trick or even mayhem. But it would still be a correct Forth program.
>IIUC provers wouldn't help much unless one puts a lot of restrictions (contracts)
>on Forth.

A prover proves a property of the program, and you have to specify the
property. E.g., for a sorting program you (at least) specify that the
output contains all the same element as the input, and that they are
sorted. Whether the compiler or run-time system knows about type
probably has little effect at that point.

- 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

<164080051826.32574.7415135743381741296@media.vsta.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: van...@vsta.org (Andy Valencia)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Wed, 29 Dec 2021 09:55:18 -0800
Lines: 15
Message-ID: <164080051826.32574.7415135743381741296@media.vsta.org>
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>
X-Trace: individual.net yK7DMtWRlvji1MlIYUzzhAPRMR5Vc3K2nRWgKyWasxG/BDsaFr
X-Orig-Path: media
Cancel-Lock: sha1:111inHbPWHsdKY7Rp3g8iHUKIr8=
User-Agent: rn.py v0.0.1
 by: Andy Valencia - Wed, 29 Dec 2021 17:55 UTC

anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> Concerning libraries, you don't need big companies for that, as Python
> demonstrates. But you need a community and system implementors that
> want libraries, understand what features are needed for libraries, and
> are willing to add the features that are needed for libraries.

Yes. Also, Python quickly added a number of "programming in the large"
features (modules, __init__.py, etc.) which made it very clear and easy
to add chunks of functionality.

A single standard CPython provided a common target for those efforts.

Andy Valencia
Home page: https://www.vsta.org/andy/
To contact me: https://www.vsta.org/contact/andy.html

Re: Modern Forth

<871r1vt8sa.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Wed, 29 Dec 2021 13:12:37 -0800
Organization: A noiseless patient Spider
Lines: 63
Message-ID: <871r1vt8sa.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<0a1b9cdf-9088-43ab-ad1f-c991b7a41377n@googlegroups.com>
<ffb8fd98-983b-4f3f-b994-f363ade6289en@googlegroups.com>
<d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com>
<3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com>
<2021Dec23.182939@mips.complang.tuwien.ac.at>
<83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com>
<87wnjuv2p4.fsf@nightsong.com>
<aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
<2021Dec29.175044@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="9aba6b8a14c0114f68f5ef0af6fc51de";
logging-data="23932"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18C0WfnO+mObRzUV0XFKb0+"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:svkEzI2ZQcN1vE2B/+2AMf9MjDQ=
sha1:9VTfBSsfHYLQ/bwtBAfI0olGklE=
 by: Paul Rubin - Wed, 29 Dec 2021 21:12 UTC

anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> Unlikely, at least in full; you probably run into one of Goedel's
> incompleteness theorems or something similar. You can probably have
> the prover prove properties of most of its code, but there will be a
> part P that is beyond its capabilities.

Another approach, used by Microsoft's SPEC prover, is to notice that
Goedel's theorem only applies to theories strong enough to support a
fragment of arithmetic that includes addition and multiplication, since
you need both of those to create the self-referential Goedel sentence.

If you drop multiplication so your arithmetic only supports addition,
you get a weaker theory called Presburger arithmetic, to which Goedel's
theorem doesn't apply, and in fact your prover can work automatically as
long as your program never multiplies two variables together.
(Multiplication a variable by a constant doesn't "count", since it can
be formalized as repeated addition. So that handles most array
subscripting.)

You usually wouldn't use SPEC on an entire program. It is instead used
mostly (I believe, I've never looked at it) to verify that some chunk of
code is free of buffer overflow bugs.

> In theory it's possible to write a more complex prover that can prove
> that part, but then how do you prove that prover? A more practical
> approach is to prove P manually.

Making sure P is small enough to validate by inspection is called the de
Bruijn criterion. Another approach, used by HOL Light, is to use the
same prover, but make its theory more powerful by adding an extra axiom.
That lets the version with the extra axiom check the consistency of the
version without it.

HOL Light is based on set theory (so called Zermelo set theory Z if that
matters), and the extra axiom asserts the exitence of a so-called
inaccessible cardinal in Z. This is a so-called large cardinal axiom,
which even mathematicians (other than set theorists) consider to be one
of the most abstruse and useless topics in mathematics. Yet there it
is, being used in a practical piece of software (HOL Light is used to
verify some things about Intel microprocessors, iirc).

It is worse. What if HOL Light's implementation of Z is inconsistent,
due to a bug or because Z itself is inconsistent? Can't it prove its
own consistency already then? A consistent theory (per Goedel) can't do
that, but of course an inconsistent theory can prove anything, even
2+2=5. And if HOL Light starts out inconsistent, it's still
inconsistent with the new axiom.

But, the idea is that such an self-consistency proof would be very weird
and roundabout, and the proof with the inaccessible cardinal likely
wouldn't go through. That is mathematically unrigorous, but it doesn't
seem worse than the horrible things that electrical engineers have
always done with complex numbers, so we can let it by.

So there you have an *engineering* use of a large cardinal (it's not a
valid mathematical use because of the non-rigor). From a certain
perspective, that is utterly amazing. There was a mathematician named
Solomon Feferman who believed that all the mathematics used in science,
and even almost all of pure mathematics, could be handled with fairly
weak axioms. I wanted to ask him about this large cardinal example but
unfortunately he died a few years ago, before I could do so. He was
mathematically active into his 80's though.

Re: Modern Forth

<3785205c-e041-4aba-979d-281faff5c7f2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:a05:: with SMTP id i5mr20238992qka.274.1640818712153;
Wed, 29 Dec 2021 14:58:32 -0800 (PST)
X-Received: by 2002:ac8:5993:: with SMTP id e19mr23711054qte.568.1640818711997;
Wed, 29 Dec 2021 14:58:31 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.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: Wed, 29 Dec 2021 14:58:31 -0800 (PST)
In-Reply-To: <871r1vt8sa.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=79.224.104.34; posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 79.224.104.34
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<0a1b9cdf-9088-43ab-ad1f-c991b7a41377n@googlegroups.com> <ffb8fd98-983b-4f3f-b994-f363ade6289en@googlegroups.com>
<d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com> <3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com>
<2021Dec23.182939@mips.complang.tuwien.ac.at> <83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com>
<87wnjuv2p4.fsf@nightsong.com> <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
<2021Dec29.175044@mips.complang.tuwien.ac.at> <871r1vt8sa.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3785205c-e041-4aba-979d-281faff5c7f2n@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Wed, 29 Dec 2021 22:58:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: minf...@arcor.de - Wed, 29 Dec 2021 22:58 UTC

Paul Rubin schrieb am Mittwoch, 29. Dezember 2021 um 22:12:42 UTC+1:
> But, the idea is that such an self-consistency proof would be very weird
> and roundabout, and the proof with the inaccessible cardinal likely
> wouldn't go through. That is mathematically unrigorous, but it doesn't
> seem worse than the horrible things that electrical engineers have
> always done with complex numbers, so we can let it by.

LOL!!! How gracious of you! :-)

Engineers pollute the Platonic world of numbers, geometries, algebras
and mathematical relations by abusing them for earthly matters! Bah!!

Make Forth a finite state machine without side effects! It will eat energy
without increasing information entropy (just thermal entropy by heat loss).
Much neater.

Re: Modern Forth

<87wnjnroj7.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Wed, 29 Dec 2021 15:15:24 -0800
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <87wnjnroj7.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<0a1b9cdf-9088-43ab-ad1f-c991b7a41377n@googlegroups.com>
<ffb8fd98-983b-4f3f-b994-f363ade6289en@googlegroups.com>
<d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com>
<3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com>
<2021Dec23.182939@mips.complang.tuwien.ac.at>
<83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com>
<87wnjuv2p4.fsf@nightsong.com>
<aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
<2021Dec29.175044@mips.complang.tuwien.ac.at>
<871r1vt8sa.fsf@nightsong.com>
<3785205c-e041-4aba-979d-281faff5c7f2n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="a74cf086516ed0048e63cfdeae0a5167";
logging-data="32320"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18h3WNUZ2uivywEnCr7WHjG"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:1Lc6Awh+kRBJ0GQxZi2VgqBXY5s=
sha1:rw8zNww/ouvaB03XCDtNSCzduF4=
 by: Paul Rubin - Wed, 29 Dec 2021 23:15 UTC

"minf...@arcor.de" <minforth@arcor.de> writes:
> Engineers pollute the Platonic world of numbers, geometries, algebras
> and mathematical relations by abusing them for earthly matters! Bah!!

Nah, I just mean mathematicians have a pretty hardcore notion of what it
means to prove a theorem. Engineers and scientists tend to be more
pragmatic about it, and many physics "theorems" aren't really
mathematically sound even though they seem to work in practice.
Like I remember a proof of the Cauchy integral theorem from physics
class, and it made sense for well behaved curves, but would break down
for messy (e.g. fractal-like) curves that physicists didn't care about.

In fancier physics, it's even worse. Mathematicians still apparently
have quite a lot of trouble formalizing quantum field theory, for
example. A math prof once told me that QFT as done by physicists
involves finding an infinite series some of whose terms are themselves
infinite, ignoring those terms, and adding up the rest. That gives
astoundingly accurate answers that can be verified by experiment, but is
mathematically "lolwut".

There are various mathematical attempts to fix this but all are pretty
painful, from what I gather.

Re: Modern Forth

<d99c28d9-e58c-4c62-b99a-83e0a7d124c9n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:5d61:: with SMTP id fn1mr7070510qvb.93.1640819912119;
Wed, 29 Dec 2021 15:18:32 -0800 (PST)
X-Received: by 2002:ac8:7d47:: with SMTP id h7mr25074526qtb.486.1640819911976;
Wed, 29 Dec 2021 15:18:31 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.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: Wed, 29 Dec 2021 15:18:31 -0800 (PST)
In-Reply-To: <871r1vt8sa.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:54f0:47dc:a03e:83c9;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:54f0:47dc:a03e:83c9
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<0a1b9cdf-9088-43ab-ad1f-c991b7a41377n@googlegroups.com> <ffb8fd98-983b-4f3f-b994-f363ade6289en@googlegroups.com>
<d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com> <3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com>
<2021Dec23.182939@mips.complang.tuwien.ac.at> <83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com>
<87wnjuv2p4.fsf@nightsong.com> <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
<2021Dec29.175044@mips.complang.tuwien.ac.at> <871r1vt8sa.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d99c28d9-e58c-4c62-b99a-83e0a7d124c9n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Wed, 29 Dec 2021 23:18:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 8
 by: Marcel Hendrix - Wed, 29 Dec 2021 23:18 UTC

On Wednesday, December 29, 2021 at 10:12:42 PM UTC+1, Paul Rubin wrote:
> That is mathematically unrigorous, but it doesn't
> seem worse than the horrible things that electrical engineers have
> always done with complex numbers, so we can let it by.

I'm interested, please tell! (I've used them as size-2 double arrays
but survived.)

-marcel

Re: Modern Forth

<sqj836$kel$1@gioia.aioe.org>

  copy mid

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

  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: Modern Forth
Date: Thu, 30 Dec 2021 14:12:37 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sqj836$kel$1@gioia.aioe.org>
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>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="20949"; 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:91.0) Gecko/20100101
Thunderbird/91.4.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: dxforth - Thu, 30 Dec 2021 03:12 UTC

On 30/12/2021 04:55, Andy Valencia wrote:
> anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>> Concerning libraries, you don't need big companies for that, as Python
>> demonstrates. But you need a community and system implementors that
>> want libraries, understand what features are needed for libraries, and
>> are willing to add the features that are needed for libraries.
>
> Yes. Also, Python quickly added a number of "programming in the large"
> features (modules, __init__.py, etc.) which made it very clear and easy
> to add chunks of functionality.
>
> A single standard CPython provided a common target for those efforts.

Also I expect Python isn't a federation of implementers where each wants
to 'have their cake and eat it too'. There are no political compromises
to slow development or muddy the language. Developers might even have a
common understanding of what Python is and what it's about. Where users
are given exactly two choices 'take it or leave it'. Can't speak for
others but I find no appeal in being held to ransom or living out my days
a second-hand person fulfilling someone else's dream.

Re: Modern Forth

<01090446-cf1a-4cfd-8aff-28c297e11279n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1c81:: with SMTP id ib1mr2593559qvb.127.1640836120526;
Wed, 29 Dec 2021 19:48:40 -0800 (PST)
X-Received: by 2002:a05:620a:11b8:: with SMTP id c24mr17673230qkk.227.1640836120366;
Wed, 29 Dec 2021 19:48:40 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.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: Wed, 29 Dec 2021 19:48:40 -0800 (PST)
In-Reply-To: <2021Dec29.173527@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=148.167.132.245; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 148.167.132.245
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@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> <6cbbbd42-5fc4-460c-88bd-85c59df36cbfn@googlegroups.com>
<sq2viq$2k0$1@dont-email.me> <sq33rf$63l$1@gioia.aioe.org>
<afcc4e26-b339-4512-840d-146f2dc781f4n@googlegroups.com> <sq3ror$q76$1@gioia.aioe.org>
<2021Dec29.173527@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <01090446-cf1a-4cfd-8aff-28c297e11279n@googlegroups.com>
Subject: Re: Modern Forth
From: hughagui...@gmail.com (Hugh Aguilar)
Injection-Date: Thu, 30 Dec 2021 03:48:40 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 59
 by: Hugh Aguilar - Thu, 30 Dec 2021 03:48 UTC

On Wednesday, December 29, 2021 at 9:45:06 AM UTC-7, Anton Ertl wrote:
> dxforth <dxf...@gmail.com> writes:
> >You say Forth lacks ready-to-use libraries. If they've not materialized
> >with what's been added thus far, then what
> ...
> Ideally time-travel back to the 1980s, spread these ideas, get them in
> the '94 standard, and a community will grow around it that builds the
> libraries. Instead, we lost many so-minded people to other languages,
> resulting in a Forth community where many (not all) have an
> anti-library sentiment.

It is certainly true that Elizabeth Rather has an anti-library sentiment,
and all ANS-Forth cult members are required to also hate libraries.

Anton wants to spread these ideas (libraries).
His problem is that he doesn't know how to implement a general-purpose
data-structure. None of the Forth-200x committee members know how to do this.
Peter Knaggs failed badly at implementing a linked-list, which is pretty easy.
https://groups.google.com/g/comp.lang.forth/c/cMa8wV3OiY0/m/INBDVBh0BgAJ

The Forth-200x committee has banned my rquotations, which work well for
implementing general-purpose data-structures. There are two possible reasons:
1.) They are just too dumb to understand the concept.
2.) They wanted a dumbed-down worthless version of quotations to be standard
in Forth-200x so Stephen Pelc could "invent" rquotations as a proprietary VFX feature.

The #2 explanation assumes that the goal of the Forth-200x committee is not to
provide the Forth community with a viable Forth standard that multiple Forth
compiler-writers could adhere to, but rather to help Stephen Pelc make money
by forcing the Forth community into a false dichotomy of either VFX ($$$)
or a free pile of garbage (Forth-200x). This #2 explanation seems to be the most
likely, considering that Stephen Pelc is the chair-person of the Forth-200x committee.

I said this previously:
On Monday, December 27, 2021 at 7:34:17 PM UTC-7, Hugh Aguilar wrote:
> The purpose of the rquotations is to support general-purpose data-structures.
> The idea is to have a HOF that traverses the data-structure executing the
> rquotation for every node. The rquotation communicates information back to
> the parent function that called the HOF by modifying the parent function's
> local variables.
>
> In the novice-package I had pseudo-quotations, (called "touchers" in my documentation
> because I didn't know the word "pseudo-quotation" at the time. These were just colon words.
> I expected the HOF to not have any data on the data-stack at the time that the
> pseudo-quotation was executed. This is the pseudo-quotation could communicate information
> back to the parent function that called the HOF by modifying the parent function's
> data on the data-stack (also, the pseudo-quotation could communicate information
> back to the parent function in global variables). This is a very kludgy work-around for
> ANS-Forth's lack of rquotations that allow information to be communicated back to the
> parent function via the parent function's local variables. When I wrote the rquotations
> (an upgrade on HumptyDumpty's prototype that lacked the crucial feature) this really
> made pseudo-quotations obsolete. Rquotations are a major break-through for Forth.
>
> The Forth-200x committee has standardized the Paysan-faked quotations that are just
> syntactic sugar for pseudo-quotations (they use :NONAME rather than colon to provide
> a cute but fake quotation-like syntax, but they lack the functionality of rquotations).
> The Forth-200x committee deserves to be completely discredited and disbanded
> for standardizing the Paysan-faked quotations --- this is like spray-painting
> a brick with gold paint, and then claiming that it is a solid-gold brick.
> This is disgraceful fakery! The Forth-200x committee don't deserve to be forgiven.

Re: Modern Forth

<4e4b4bc0-a687-4ee9-9bdc-47cf739ef6b5n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:4652:: with SMTP id f18mr25359044qto.381.1640836245211;
Wed, 29 Dec 2021 19:50:45 -0800 (PST)
X-Received: by 2002:ac8:590a:: with SMTP id 10mr25161567qty.186.1640836245013;
Wed, 29 Dec 2021 19:50:45 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.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: Wed, 29 Dec 2021 19:50:44 -0800 (PST)
In-Reply-To: <sqj836$kel$1@gioia.aioe.org>
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4e4b4bc0-a687-4ee9-9bdc-47cf739ef6b5n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Thu, 30 Dec 2021 03:50:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: Nickolay Kolchin - Thu, 30 Dec 2021 03:50 UTC

On Thursday, December 30, 2021 at 6:12:43 AM UTC+3, dxforth wrote:
> On 30/12/2021 04:55, Andy Valencia wrote:
> > an...@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> >> Concerning libraries, you don't need big companies for that, as Python
> >> demonstrates. But you need a community and system implementors that
> >> want libraries, understand what features are needed for libraries, and
> >> are willing to add the features that are needed for libraries.
> >
> > Yes. Also, Python quickly added a number of "programming in the large"
> > features (modules, __init__.py, etc.) which made it very clear and easy
> > to add chunks of functionality.
> >
> > A single standard CPython provided a common target for those efforts.
> Also I expect Python isn't a federation of implementers where each wants
> to 'have their cake and eat it too'. There are no political compromises
> to slow development or muddy the language. Developers might even have a
> common understanding of what Python is and what it's about. Where users
> are given exactly two choices 'take it or leave it'. Can't speak for
> others but I find no appeal in being held to ransom or living out my days
> a second-hand person fulfilling someone else's dream.

https://www.python.org/dev/peps/pep-0001/

Re: Modern Forth

<164083791850.14382.5901940244963809232@media.vsta.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!news2.arglkargh.de!news.karotte.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: van...@vsta.org (Andy Valencia)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Wed, 29 Dec 2021 20:18:38 -0800
Lines: 14
Message-ID: <164083791850.14382.5901940244963809232@media.vsta.org>
References: <sqj836$kel$1@gioia.aioe.org> <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>
X-Trace: individual.net G9tP4OH4yMT4QzCjAkaDGw/B54OboQ1NxzDWIqILsN574lEIdy
X-Orig-Path: media
Cancel-Lock: sha1:oTgBfZa5UX6p6X0eP6h6BMGVH9w=
User-Agent: rn.py v0.0.1
 by: Andy Valencia - Thu, 30 Dec 2021 04:18 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'.

Since that's human nature, I expect it was _a_ factor which was present.

One of the greatest strengths of Python--especially in its formative
years--was the unique personality of Guido van Rossum. A fair portion of
Python's "secret sauce" is how Guido was able to guide the overall community,
and hold it together.

Andy Valencia
Home page: https://www.vsta.org/andy/
To contact me: https://www.vsta.org/contact/andy.html

Re: Modern Forth

<87sfuask8t.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Wed, 29 Dec 2021 22:02:42 -0800
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <87sfuask8t.fsf@nightsong.com>
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>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="a74cf086516ed0048e63cfdeae0a5167";
logging-data="10321"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/+owfDRDLw9+or9f1SEySF"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:pZ13rieATxawCmgVxOMd0VN9Qdo=
sha1:TLgJ3S19zmDNPoUo3/ALa8wd7mw=
 by: Paul Rubin - Thu, 30 Dec 2021 06:02 UTC

Nickolay Kolchin <nbkolchin@gmail.com> writes:
> full featured OS are unable to handle modern realtime requirements. I.e.
> microsecond precision

Yeah if your application needs that, you have to offload it to a
coprocessor or FPGA. But really, that's a niche within a niche. MCU's
contain hardware UARTs, PWM, maybe ADC SARs, etc. that manage those
fast operations that might have been done in software back in the day.
The Beaglebone Black chip also has a pair of realtime coprocessors (200
mhz 32 bit RTU's), and the Raspberry Pi Pico has those PIO units, though
the Pico doesn't run a heavyweight OS.

> P.S. But we kinda moved away from Forth again.

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 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.

Re: Modern Forth

<10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:44cd:: with SMTP id r196mr22685242qka.90.1640883622054;
Thu, 30 Dec 2021 09:00:22 -0800 (PST)
X-Received: by 2002:a05:622a:10b:: with SMTP id u11mr26740557qtw.571.1640883621866;
Thu, 30 Dec 2021 09:00:21 -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: Thu, 30 Dec 2021 09:00:21 -0800 (PST)
In-Reply-To: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=82.95.228.79; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 82.95.228.79
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com>
Subject: Re: Modern Forth
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Thu, 30 Dec 2021 17:00:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 86
 by: Hans Bezemer - Thu, 30 Dec 2021 17:00 UTC

On Tuesday, December 21, 2021 at 6:05:06 PM UTC+1, minf...@arcor.de wrote:
> 2) ISO/ANS Forth with little progress and barely usable for real world apps
> 3) hundreds of personal/hobby/academic Forths or VMs, often severely
> crippled and unmaintained

That's because it's extremely easy to make a Forth compiler - but quite a steep path in learning how to program it. After having played with the toy, kids gets bored. That's how it is.
Still, I don't think 2) and 3) are true categories - since lots of "hobby" Forths adhere to the standard.

> Ad 2) and 3) There seems a tendency towards permanently reinventing
> or retuning old wheels. Hence no progress there as well.
I don't agree here as well. Know that there are TWO Forth's: the architecture and the language. NASA still uses the Forth architecture in some of their development systems. Factor is my no means Forth language-wise, but it uses its architecture. Even ColorForth is more of an architecture descendant than a language one. So don't say architecture wise there are no developments.

Forths "standards" have always been problematic IMHO and while ANS did clear up the sky a bit, I think Forth 20xx is AGAIN a step in the wrong direction. It adds the same "pragmatic" constraints to the language that e.g. Forth-83 did, doesn't fill the gaps that need to be filled (stringwise, anybody?) and adds wordsets which universal usefulness is at least questionable.

Coming from C, I've never questioned the usefulness of libraries in general.. It's true that you can make several variants - depending on certain requirements like speed, compactness or features - but that doesn't mean you have to reinvent the wheel each and every time. I learned quite a few things from Chuck, but here I do absolutely not agree. And I've found no circumstances in which I had to change my mind in that regard. Most often than not - if it happened, I merely added another library to the arsenal.

Like C, it is hard to distinguish the extensions to the language from the language itself. My own C-libraries need an inclusion of the prototypes and are linked in a similar fashion. Forth is the same thing. Every Forth compiler has at least some "extra" words attached to it. When talking about the "core" words, I don't think you've seen much development in C during that period as well. Even more, I think - even when comparing just the years '70-'90 - Forth has seen much more development - CELLS, CHAR+, ?DO, CASE..ENDCASE, just to name a few. Add [: and ;] for good measure.

And then: the rebels. The ones that do *NOT* adhere (completely) to the standard. I could name a few offhand like oForth, StrongForth, 8th and even Factor. It's not *TOO* hard so add at least some Factor features to ordinary Forth. 4tH has proven that in the recent release of v3.64.0. All of these variants carried some concepts that are compatible with Forth; or - like 8th.. oForth or Factor - a complete reimagining of Forth.

I do agree that some of these variants have not been maintained for long, but that doesn't mean they're incomplete - and hence unusable. Excuse me if I'm making errors here (I apologize beforehand), but often there has been little or no activity - for reasons unknown. It could be that the writers consider their tools "rounded" and "ready for use" and are still using it for their own development. We don't know.

Lots of people here maintain their own compilers. I can't speak for them, of course. If they still use it for their own development, let them speak up.. I can only speak for myself. I developed 4tH almost 30 years ago - and development is still ongoing. My last commit was a week ago. In the meanwhile I'm also maintaining 500+ libraries, quietly doing "drop in replacements" when need be. Since I've developed 4tH, I've hardly used C - except for maintaining the compiler itself.

Speaking of that compiler, it doesn't follow the Forth architecture - at all. The support for tables is unique, as is its I/O system. It has a preprocessor, which allows for a unique OOP model called FOOS. It has abstracted the STRING wordset, since it uses ASCIIZ strings internally. It has a complete set of string words - the entire preprocessor was built in 4tH - what more proof do you need? You can write Jason, LateX, HTML, XLS and even RTF. It features libraries to read CSV and XML. So yes, I wrote and write "real world" applications in 4tH - both personally and professionally. A lot of them are still used every day. And I'm not alone. I know for sure my highly regarded confrere Aaron who wrote 8th can sing a similar song.

I suppose you can only see what you want to see - but IMHO there are and have been numerous developments in Forth. And yes, people are still developing in Forth. I just wish we would see more useful stuff presented here - and if people do, they would help to improve these instead of playing the "standard Nazis", taking away all the fun in publishing stuff here in the first place. And another big tip: if you don't like locals, prove you can write a better one without these pesky things instead of starting to whine. People do that all the time in Rosetta Code.

Hans Bezemer

Re: Modern Forth

<2021Dec30.193427@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Thu, 30 Dec 2021 18:34:27 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 47
Message-ID: <2021Dec30.193427@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <d57c1612-1fed-4c42-988e-827a7a282718n@googlegroups.com> <3a922d21-9918-4816-92fe-3a4d4f9a80c2n@googlegroups.com> <2021Dec23.182939@mips.complang.tuwien.ac.at> <83a6888e-ad82-4de9-bbb7-abfed25fe91fn@googlegroups.com> <87wnjuv2p4.fsf@nightsong.com> <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com> <87k0fuute2.fsf@nightsong.com> <c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="99224547c5e63b6fde292f526e21936f";
logging-data="1190"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18gs5azpTqRH/sqEwCdAx1s"
Cancel-Lock: sha1:LglYP7K5SvtIAT2Cy9H6p3hNcCk=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Thu, 30 Dec 2021 18:34 UTC

Marcel Hendrix <mhx@iae.nl> writes:
>I just found a bug in a program and your comment sparks interest.
>
>The bug was in a floating-point equivalent of /mod, i.e.
>
>FP/REM "f-p-slash-rem"
> ( F: x y -- rem[x/y] ) ( -- q[x/y] )
> Compute the remainder r and divisor q of x divided by y.
> When y is not 0, the remainder rem is defined regardless of the
> current rounding mode by the exact mathematical relation
> r = x - y * q, where q is the integer nearest the exact
> number x/y, with round to nearest.
>
>: test 20e-6 2e-6 FP/REM . e. 10e 2e-6 F* 2e-6 FP/REM . e. ; ok
>test 10 1.240771e-24 10 2.000000e-6 ok
>
>How would one use SPARK to usefully catch such a problem?

And the problem is? I don't think SPARK can catch anything if you
don't tell it in another way what your intention is.

I find the example interesting: 20e-6 seems to be quite close to ten
times 2e-6, so the remainder is small. By contrast, 2e-6 should be
the same as 2e-6, and 10e is representable exactly, and F* should
introduce only a small rounding error, so I would expect that the
remainder is small in that case, too.

Let's see:

Gforth 0.7.9_20211216 (same with 0.7.3):
20e-6 10e 2e-6 f* f- fs. \ output: 3.38813178901720E-21

iForth 5.1-mini:
FORTH> 20e-6 10e 2e-6 f* f- fs. \ 1.654361e-24 ok

Looks ok (better accuracy thanks to 80-bit floats). So the problem
seems to lie with FP/REM.

vfx64 5.11 RC2:
20e-6 10e 2e-6 f* f- fs. \ 0.0000000e+00

- 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

<724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:2307:: with SMTP id gc7mr6597548qvb.77.1640901722482;
Thu, 30 Dec 2021 14:02:02 -0800 (PST)
X-Received: by 2002:ac8:590a:: with SMTP id 10mr28361276qty.186.1640901722301;
Thu, 30 Dec 2021 14:02:02 -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: Thu, 30 Dec 2021 14:02:02 -0800 (PST)
In-Reply-To: <10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f26:2cfb:609f:7023:990:eb7e;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f26:2cfb:609f:7023:990:eb7e
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Thu, 30 Dec 2021 22:02:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 98
 by: minf...@arcor.de - Thu, 30 Dec 2021 22:02 UTC

the.bee...@gmail.com schrieb am Donnerstag, 30. Dezember 2021 um 18:00:23 UTC+1:
> On Tuesday, December 21, 2021 at 6:05:06 PM UTC+1, minf...@arcor.de wrote:
> > 2) ISO/ANS Forth with little progress and barely usable for real world apps
> > 3) hundreds of personal/hobby/academic Forths or VMs, often severely
> > crippled and unmaintained
>
> That's because it's extremely easy to make a Forth compiler - but quite a steep path in learning how to program it. After having played with the toy, kids gets bored. That's how it is.
> Still, I don't think 2) and 3) are true categories - since lots of "hobby" Forths adhere to the standard.
>
> > Ad 2) and 3) There seems a tendency towards permanently reinventing
> > or retuning old wheels. Hence no progress there as well.
> I don't agree here as well. Know that there are TWO Forth's: the architecture and the language. NASA still uses the Forth architecture in some of their development systems. Factor is my no means Forth language-wise, but it uses its architecture. Even ColorForth is more of an architecture descendant than a language one. So don't say architecture wise there are no developments.
>
> Forths "standards" have always been problematic IMHO and while ANS did clear up the sky a bit, I think Forth 20xx is AGAIN a step in the wrong direction. It adds the same "pragmatic" constraints to the language that e.g. Forth-83 did, doesn't fill the gaps that need to be filled (stringwise, anybody?) and adds wordsets which universal usefulness is at least questionable.
>
> Coming from C, I've never questioned the usefulness of libraries in general. It's true that you can make several variants - depending on certain requirements like speed, compactness or features - but that doesn't mean you have to reinvent the wheel each and every time. I learned quite a few things from Chuck, but here I do absolutely not agree. And I've found no circumstances in which I had to change my mind in that regard. Most often than not - if it happened, I merely added another library to the arsenal.
>
> Like C, it is hard to distinguish the extensions to the language from the language itself. My own C-libraries need an inclusion of the prototypes and are linked in a similar fashion. Forth is the same thing. Every Forth compiler has at least some "extra" words attached to it. When talking about the "core" words, I don't think you've seen much development in C during that period as well. Even more, I think - even when comparing just the years '70-'90 - Forth has seen much more development - CELLS, CHAR+, ?DO, CASE..ENDCASE, just to name a few. Add [: and ;] for good measure.
>
> And then: the rebels. The ones that do *NOT* adhere (completely) to the standard. I could name a few offhand like oForth, StrongForth, 8th and even Factor. It's not *TOO* hard so add at least some Factor features to ordinary Forth. 4tH has proven that in the recent release of v3.64.0. All of these variants carried some concepts that are compatible with Forth; or - like 8th. oForth or Factor - a complete reimagining of Forth.
>
> I do agree that some of these variants have not been maintained for long, but that doesn't mean they're incomplete - and hence unusable. Excuse me if I'm making errors here (I apologize beforehand), but often there has been little or no activity - for reasons unknown. It could be that the writers consider their tools "rounded" and "ready for use" and are still using it for their own development. We don't know.
>
> Lots of people here maintain their own compilers. I can't speak for them, of course. If they still use it for their own development, let them speak up. I can only speak for myself. I developed 4tH almost 30 years ago - and development is still ongoing. My last commit was a week ago. In the meanwhile I'm also maintaining 500+ libraries, quietly doing "drop in replacements" when need be. Since I've developed 4tH, I've hardly used C - except for maintaining the compiler itself.
>
> Speaking of that compiler, it doesn't follow the Forth architecture - at all. The support for tables is unique, as is its I/O system. It has a preprocessor, which allows for a unique OOP model called FOOS. It has abstracted the STRING wordset, since it uses ASCIIZ strings internally. It has a complete set of string words - the entire preprocessor was built in 4tH - what more proof do you need? You can write Jason, LateX, HTML, XLS and even RTF. It features libraries to read CSV and XML. So yes, I wrote and write "real world" applications in 4tH - both personally and professionally. A lot of them are still used every day. And I'm not alone. I know for sure my highly regarded confrere Aaron who wrote 8th can sing a similar song.
>
> I suppose you can only see what you want to see - but IMHO there are and have been numerous developments in Forth. And yes, people are still developing in Forth. I just wish we would see more useful stuff presented here - and if people do, they would help to improve these instead of playing the "standard Nazis", taking away all the fun in publishing stuff here in the first place. And another big tip: if you don't like locals, prove you can write a better one without these pesky things instead of starting to whine. People do that all the time in Rosetta Code.
>

With all due respect, I really don't see how the development of numerous new,
but among themselves incompatible, dialects can contribute to modernizing
Forth. Of course exploring new concepts is the way to go for Occam's razor test,
but incompatible and thus unsharable libraries are a dead end IMO.

BTW I use Forth locals a lot... ;-)

Re: Modern Forth

<c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:14:: with SMTP id x20mr27487475qtw.671.1640908849140;
Thu, 30 Dec 2021 16:00:49 -0800 (PST)
X-Received: by 2002:a05:620a:2901:: with SMTP id m1mr23090382qkp.644.1640908848967;
Thu, 30 Dec 2021 16:00:48 -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: Thu, 30 Dec 2021 16:00:48 -0800 (PST)
In-Reply-To: <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=82.95.228.79; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 82.95.228.79
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<10242c33-34b7-4f3c-8657-b074c73bd6a2n@googlegroups.com> <724e9ebf-e347-471c-b716-0aa11464e67dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com>
Subject: Re: Modern Forth
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Fri, 31 Dec 2021 00:00:49 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 136
 by: Hans Bezemer - Fri, 31 Dec 2021 00:00 UTC

On Thursday, December 30, 2021 at 11:02:03 PM UTC+1, minf...@arcor.de wrote:
> the.bee...@gmail.com schrieb am Donnerstag, 30. Dezember 2021 um 18:00:23 UTC+1:
> > On Tuesday, December 21, 2021 at 6:05:06 PM UTC+1, minf...@arcor.de wrote:
> > > 2) ISO/ANS Forth with little progress and barely usable for real world apps
> > > 3) hundreds of personal/hobby/academic Forths or VMs, often severely
> > > crippled and unmaintained
> >
> > That's because it's extremely easy to make a Forth compiler - but quite a steep path in learning how to program it. After having played with the toy, kids gets bored. That's how it is.
> > Still, I don't think 2) and 3) are true categories - since lots of "hobby" Forths adhere to the standard.
> >
> > > Ad 2) and 3) There seems a tendency towards permanently reinventing
> > > or retuning old wheels. Hence no progress there as well.
> > I don't agree here as well. Know that there are TWO Forth's: the architecture and the language. NASA still uses the Forth architecture in some of their development systems. Factor is my no means Forth language-wise, but it uses its architecture. Even ColorForth is more of an architecture descendant than a language one. So don't say architecture wise there are no developments.
> >
> > Forths "standards" have always been problematic IMHO and while ANS did clear up the sky a bit, I think Forth 20xx is AGAIN a step in the wrong direction. It adds the same "pragmatic" constraints to the language that e.g. Forth-83 did, doesn't fill the gaps that need to be filled (stringwise, anybody?) and adds wordsets which universal usefulness is at least questionable.
> >
> > Coming from C, I've never questioned the usefulness of libraries in general. It's true that you can make several variants - depending on certain requirements like speed, compactness or features - but that doesn't mean you have to reinvent the wheel each and every time. I learned quite a few things from Chuck, but here I do absolutely not agree. And I've found no circumstances in which I had to change my mind in that regard. Most often than not - if it happened, I merely added another library to the arsenal.
> >
> > Like C, it is hard to distinguish the extensions to the language from the language itself. My own C-libraries need an inclusion of the prototypes and are linked in a similar fashion. Forth is the same thing. Every Forth compiler has at least some "extra" words attached to it. When talking about the "core" words, I don't think you've seen much development in C during that period as well. Even more, I think - even when comparing just the years '70-'90 - Forth has seen much more development - CELLS, CHAR+, ?DO, CASE..ENDCASE, just to name a few. Add [: and ;] for good measure.
> >
> > And then: the rebels. The ones that do *NOT* adhere (completely) to the standard. I could name a few offhand like oForth, StrongForth, 8th and even Factor. It's not *TOO* hard so add at least some Factor features to ordinary Forth. 4tH has proven that in the recent release of v3.64.0. All of these variants carried some concepts that are compatible with Forth; or - like 8th. oForth or Factor - a complete reimagining of Forth.
> >
> > I do agree that some of these variants have not been maintained for long, but that doesn't mean they're incomplete - and hence unusable. Excuse me if I'm making errors here (I apologize beforehand), but often there has been little or no activity - for reasons unknown. It could be that the writers consider their tools "rounded" and "ready for use" and are still using it for their own development. We don't know.
> >
> > Lots of people here maintain their own compilers. I can't speak for them, of course. If they still use it for their own development, let them speak up. I can only speak for myself. I developed 4tH almost 30 years ago - and development is still ongoing. My last commit was a week ago. In the meanwhile I'm also maintaining 500+ libraries, quietly doing "drop in replacements" when need be. Since I've developed 4tH, I've hardly used C - except for maintaining the compiler itself.
> >
> > Speaking of that compiler, it doesn't follow the Forth architecture - at all. The support for tables is unique, as is its I/O system. It has a preprocessor, which allows for a unique OOP model called FOOS. It has abstracted the STRING wordset, since it uses ASCIIZ strings internally. It has a complete set of string words - the entire preprocessor was built in 4tH - what more proof do you need? You can write Jason, LateX, HTML, XLS and even RTF. It features libraries to read CSV and XML. So yes, I wrote and write "real world" applications in 4tH - both personally and professionally. A lot of them are still used every day. And I'm not alone. I know for sure my highly regarded confrere Aaron who wrote 8th can sing a similar song.
> >
> > I suppose you can only see what you want to see - but IMHO there are and have been numerous developments in Forth. And yes, people are still developing in Forth. I just wish we would see more useful stuff presented here - and if people do, they would help to improve these instead of playing the "standard Nazis", taking away all the fun in publishing stuff here in the first place. And another big tip: if you don't like locals, prove you can write a better one without these pesky things instead of starting to whine. People do that all the time in Rosetta Code.
> >
> With all due respect, I really don't see how the development of numerous new,
> but among themselves incompatible, dialects can contribute to modernizing
> Forth. Of course exploring new concepts is the way to go for Occam's razor test,
> but incompatible and thus unsharable libraries are a dead end IMO.
>
> BTW I use Forth locals a lot... ;-)

With all due respect, I think that attitude is EXACTLY the problem here. First of all, it's all whining why there are "no new Forth concepts being developed" and then when numerous new concpts are presented the ugly head of the "Standards Nazi" pops up again (used as ametaphor - nothing personal).

New concepts are by definition "non-standard" - because they are NEW. They are here to be explored. As I did when I added two Factor like libraries to 4tH. And you know what? As I had handcoded some primitives, some Factor definitions could be added verbatim. And stuff started to look more and more like Factor.

Exploring takes effort. It doesn't come for free. And may be you don't really like it. I didn't find wrapping my head around nested quotations easier than vanilla Forth - agreed. It didn't make me embrace Factor in any way, although I still think the concept has merit. But at least I didn't discard it with the cheap excuse that it is "non-standard".

If we, as a community keep denying that there are new concepts being developed - while there most certainly are - then we won't have no new conepts. None are published, none are posted - why should one even try - and none are explored and none are discussed. We as a community will cease to exist due to our own conservatism.

And there is plenty to do. We need a complete string wordset. We need to replace some ugly C-isms like the FILE wordset. We could set the first step towards an OO wordset. We could explore alternatives to locals (another horrible C-ism). AND THERE ARE!

All that as alternative to our endless and rather fruitless complaining. At least it confirms to me why I do not do any effort anymore.

Hans Bezemer

Re: Modern Forth

<sqlvg5$6bi$1@gioia.aioe.org>

  copy mid

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

  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: Modern Forth
Date: Fri, 31 Dec 2021 15:04:22 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sqlvg5$6bi$1@gioia.aioe.org>
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>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="6514"; 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:91.0) Gecko/20100101
Thunderbird/91.4.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: dxforth - Fri, 31 Dec 2021 04:04 UTC

On 31/12/2021 11:00, Hans Bezemer wrote:
> ...
> All that as alternative to our endless and rather fruitless complaining. At least it
> confirms to me why I do not do any effort anymore.

Forth and rhetoric about what it should be go together like dogs and fleas.
A little flea powder is all one needs.

Re: Modern Forth

<c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:7650:: with SMTP id i16mr29234675qtr.220.1640940685484; Fri, 31 Dec 2021 00:51:25 -0800 (PST)
X-Received: by 2002:a0c:f24a:: with SMTP id z10mr30601950qvl.29.1640940685302; Fri, 31 Dec 2021 00:51:25 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.dns-netz.com!news.freedyn.de!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 31 Dec 2021 00:51:25 -0800 (PST)
In-Reply-To: <c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:605f:ff29:ec09:77de; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:605f:ff29:ec09:77de
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 31 Dec 2021 08:51:25 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 37
 by: Marcel Hendrix - Fri, 31 Dec 2021 08:51 UTC

On Friday, December 31, 2021 at 1:00:49 AM UTC+1, the.bee...@gmail.com wrote:
[..]
> And there is plenty to do. We need a complete string wordset.
> We need to replace some ugly C-isms like the FILE wordset.
> We could set the first step towards an OO wordset. We could
> explore alternatives to locals (another horrible C-ism).
> AND THERE ARE!

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.

Although we can express all possible programs in Forth,
some may 1. want to express them *differently,* or 2. add
additional *programmer* requirements, e.g. introspection,
debugging, garbage collecting, etc.. In Forth we can do 1
by extending the language *and still call it Forth*,
something which all interpreted languages can do (but
AFAIK, not as efficiently as Forth).

It is possible to start with Forth and implement 1 and 2
by taking shortcuts, resulting in the numerous more or
less useful Forth mongrels. To be able to still officially
call these Forth, inconsistencies and bottlenecks in the
basic language specification must be tracked down
and fixed. This is what IMO the various standardization
efforts are about.

Of course people will argue that a 'Fixed Forth' is not
the real thing anymore. It is 'Standard Forth,' though.

In what I quoted above there is nothing problematic as
long as the laundry list is implemented in Standard
Forth. IMHO it is just a complaint that some
programmer has to do himself what he thinks
(FFL and FSL?) noone has already done for him.

-marcel

Re: Modern Forth

<87bl0xrtk9.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Fri, 31 Dec 2021 01:51:18 -0800
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <87bl0xrtk9.fsf@nightsong.com>
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>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="2f1173641a694aa6897296ee372b5fcf";
logging-data="1086"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/tvS6us6sWSm+UVXE/uwzl"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:VMRno2zKWKbPe5HA7N6OG3plUfo=
sha1:RZD87GCMsivbUnL3heFX84xH/TE=
 by: Paul Rubin - Fri, 31 Dec 2021 09:51 UTC

Marcel Hendrix <mhx@iae.nl> writes:
> Although we can express all possible programs in Forth,

If you mean all possible computations (the Turing completeness fallacy)
then sure. For some other things the language facilities actually
matter. The following is afaict impossible in Forth, C, Python etc.,;
difficult but possible in C++ or Java, a little bit clumsy in Haskell,
and probably quite easy in Agda or Idris. It requires making use of a
static type system, so languages without static types don't meet the
entry requirement. I've only done it in Haskell:

http://blog.tmorris.net/posts/understanding-practical-api-design-static-typing-and-functional-programming/

Re: Modern Forth

<145afa7d-f140-43c8-83cc-e5476090c275n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1902:: with SMTP id w2mr30699265qtc.498.1640946829661;
Fri, 31 Dec 2021 02:33:49 -0800 (PST)
X-Received: by 2002:a05:620a:2901:: with SMTP id m1mr23994067qkp.644.1640946829233;
Fri, 31 Dec 2021 02:33: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: Fri, 31 Dec 2021 02:33:49 -0800 (PST)
In-Reply-To: <87bl0xrtk9.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f14:600:605f:ff29:ec09:77de;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f14:600:605f:ff29:ec09:77de
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <145afa7d-f140-43c8-83cc-e5476090c275n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 31 Dec 2021 10:33:49 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 30
 by: Marcel Hendrix - Fri, 31 Dec 2021 10:33 UTC

On Friday, December 31, 2021 at 10:51:20 AM UTC+1, Paul Rubin wrote:
> Marcel Hendrix <m...@iae.nl> writes:
> > Although we can express all possible programs in Forth,
> If you mean all possible computations (the Turing completeness fallacy)
> then sure. For some other things the language facilities actually
> matter. The following is afaict impossible in Forth, C, Python etc.,;
> difficult but possible in C++ or Java, a little bit clumsy in Haskell,
> and probably quite easy in Agda or Idris. It requires making use of a
> static type system, so languages without static types don't meet the
> entry requirement. I've only done it in Haskell:
>
> http://blog.tmorris.net/posts/understanding-practical-api-design-static-typing-and-functional-programming/

It is necessary to be precise ...

Are you saying that it is impossible to implement "what static
typing does" (focusing here on your concrete statement) for a fully
specified program (like that Tic-Tac-Toe API example)? I think that
we have to be extra precise here because an API allows to write
quite a lot of unknown programs. I would prefer to take *one
specific* program produced with the API and see if it could be
written in Forth (in order to prevent moving the goal posts at
infinitum).

If you state that "static typing is necessary" I would be
interested to know how you are going to test if static
typing actually works as intended for a concrete
example that can not be reproduced with a Forth
program taking the aforementioned input for the test :--)

-marcel

Re: Modern Forth

<d8b460d9-2a7c-4dd4-b667-7009634c1b1bn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:100c:: with SMTP id z12mr24356484qkj.680.1640949426831;
Fri, 31 Dec 2021 03:17:06 -0800 (PST)
X-Received: by 2002:a05:622a:1211:: with SMTP id y17mr27926999qtx.589.1640949426662;
Fri, 31 Dec 2021 03:17:06 -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: Fri, 31 Dec 2021 03:17:06 -0800 (PST)
In-Reply-To: <c478cae4-ab53-4d9d-a741-2a05fbcf6155n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=82.95.228.79; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 82.95.228.79
References: <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: <d8b460d9-2a7c-4dd4-b667-7009634c1b1bn@googlegroups.com>
Subject: Re: Modern Forth
From: the.beez...@gmail.com (Hans Bezemer)
Injection-Date: Fri, 31 Dec 2021 11:17:06 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 40
 by: Hans Bezemer - Fri, 31 Dec 2021 11:17 UTC

On Friday, December 31, 2021 at 9:51:26 AM UTC+1, Marcel Hendrix wrote:
> On Friday, December 31, 2021 at 1:00:49 AM UTC+1, the.bee...@gmail.com wrote:
> [..]
> > And there is plenty to do. We need a complete string wordset.
> > We need to replace some ugly C-isms like the FILE wordset.
> > We could set the first step towards an OO wordset. We could
> > explore alternatives to locals (another horrible C-ism).
> > AND THERE ARE!
> 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.
>
> Although we can express all possible programs in Forth,
> some may 1. want to express them *differently,* or 2. add
> additional *programmer* requirements, e.g. introspection,
> debugging, garbage collecting, etc.. In Forth we can do 1
> by extending the language *and still call it Forth*,
> something which all interpreted languages can do (but
> AFAIK, not as efficiently as Forth).
>
> It is possible to start with Forth and implement 1 and 2
> by taking shortcuts, resulting in the numerous more or
> less useful Forth mongrels. To be able to still officially
> call these Forth, inconsistencies and bottlenecks in the
> basic language specification must be tracked down
> and fixed. This is what IMO the various standardization
> efforts are about.
>
> Of course people will argue that a 'Fixed Forth' is not
> the real thing anymore. It is 'Standard Forth,' though.
>
> In what I quoted above there is nothing problematic as
> long as the laundry list is implemented in Standard
> Forth. IMHO it is just a complaint that some
> programmer has to do himself what he thinks
> (FFL and FSL?) noone has already done for him.
>
> -marcel
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.

Hans Bezemer

Re: Modern Forth

<2021Dec31.150047@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Fri, 31 Dec 2021 14:00:47 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 69
Message-ID: <2021Dec31.150047@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>
Injection-Info: reader02.eternal-september.org; posting-host="0378d83b25f1312aaa05e6b22cb0be46";
logging-data="27137"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/T2E3DC1sOW/BgsoXrBzBN"
Cancel-Lock: sha1:hQjQXSh7ckeWpGwnn+sZASmu5aE=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Fri, 31 Dec 2021 14:00 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>http://blog.tmorris.net/posts/understanding-practical-api-design-static-typing-and-functional-programming/

He does not show his solution, but given that even tic-tac-toe is too
complex to make a complete manual static expansion practical, I expect
that his move and take-move-back words return one of the following
subtypes of a board-state type:

board-finished
board-empty
board-next-x
board-next-o

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. You would have to do something along the lines of

empty-board (board-empty) 1 1 x-move ( board )
dup is-board-next-o if
0 0 o-move then

instead. That did not come out clear in this posting (I only figured
it out afterwards, and I guess those who have not come into contact
with type guards do not figure it out at all), and he did not give a
convincing (to me) reason why a programmer would want to comply with
his rules.

Anyway, about doing that in Forth: One could put the words in separate
wordlists (with each wordlist representing a type), and then have
words that do the type-guarding and wordlist lookup. 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

If you write

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

you get a "undefined word" error because x-move is not in the
board-next-o wordlist. The definition of guard-board-next-o could
look like this:

: guard-board-next-o ( compilation: "word" "word" -- ;
run-time: ... board -- ... )
]] dup is-board-next-o if [[
parse-name board-next-o find-name-in dup 0= -13 and throw
name>compile execute
]] else drop [[
parse-name find-name dup 0= -13 and throw name>compile execute
]] then [[ ; immediate

Admittedly, if you really want to go there, it's better to have the
type system from the ground up rather than tacked on like shown above,
but I don't really want to go there, and this proof-of-concept is good
enough to show that it can be done in Forth (the "from-the-ground-up"
can also be done in Forth, but would require much more effort.

- 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

<f2e93afe-7236-4495-893c-b15fd989f2a7n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5ad1:: with SMTP id d17mr31508065qtd.23.1640972876086;
Fri, 31 Dec 2021 09:47:56 -0800 (PST)
X-Received: by 2002:a05:620a:450b:: with SMTP id t11mr25744979qkp.609.1640972875780;
Fri, 31 Dec 2021 09:47:55 -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: Fri, 31 Dec 2021 09:47:55 -0800 (PST)
In-Reply-To: <c6764b51-bc86-46c0-8258-fb79804e97fbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=79.172.122.139; posting-account=1qVL5woAAABqIkvU7Nz8Hn6p94_dJQrA
NNTP-Posting-Host: 79.172.122.139
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f2e93afe-7236-4495-893c-b15fd989f2a7n@googlegroups.com>
Subject: Re: Modern Forth
From: ilya74.t...@gmail.com (Ilya Tarasov)
Injection-Date: Fri, 31 Dec 2021 17:47:56 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: Ilya Tarasov - Fri, 31 Dec 2021 17:47 UTC

> New concepts are by definition "non-standard" - because they are NEW. They are here to be explored. As I did when I added two Factor like libraries to 4tH.
> And you know what? As I had handcoded some primitives, some Factor definitions could be added verbatim. And stuff started to look more and more like Factor.
New concepts are not appears just because of dreams or wishes to 'promote' language.

> Exploring takes effort. It doesn't come for free. And may be you don't really like it. I didn't find wrapping my head around nested quotations easier than vanilla Forth - agreed.
> It didn't make me embrace Factor in any way, although I still think the concept has merit. But at least I didn't discard it with the cheap excuse that it is "non-standard".

Having no practice means having no specific goals. Adding features and converting Forth to extended Forth, Factor, C, Lisp etc etc is an empty work.
> If we, as a community keep denying that there are new concepts being developed - while there most certainly are - then we won't have no new conepts.
> None are published, none are posted - why should one even try - and none are explored and none are discussed. We as a community will cease to exist due to our own conservatism.

This is not pure comservatism. This is an attempt to ride on the 'Forth' brand. Selected persons are allowed to do this and they are stopping not initiatives, but attempts to
rebuild 'hierarchy', as they understand it.
> And there is plenty to do. We need a complete string wordset. We need to replace some ugly C-isms like the FILE wordset. We could set the first step towards an OO wordset. We could explore alternatives to locals (another horrible C-ism). AND THERE ARE!
>
> All that as alternative to our endless and rather fruitless complaining. At least it confirms to me why I do not do any effort anymore.

The is no complaining indeed. Looking at 'forth' in a web resource name, people may wait a place to discuss Forth. Not to listen how wrong they are
and how many 'proposals' they need to send before they will be allowed to become a part of a 'hierarchy'. This is a kind of cult.

Re: Modern Forth

<877dbkslot.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Fri, 31 Dec 2021 09:56:02 -0800
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <877dbkslot.fsf@nightsong.com>
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>
<145afa7d-f140-43c8-83cc-e5476090c275n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="2f1173641a694aa6897296ee372b5fcf";
logging-data="23366"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18z+xoT34nFZpyG7dWz57Ds"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:Ng0CSteyeZGsJG4/pw6Gs68U09Y=
sha1:6vvaHj10aw0oDAw7MnLfo7fd8qI=
 by: Paul Rubin - Fri, 31 Dec 2021 17:56 UTC

Marcel Hendrix <mhx@iae.nl> writes:
> If you state that "static typing is necessary" I would be interested
> to know how you are going to test if static typing actually works as
> intended for a concrete example that can not be reproduced with a
> Forth program taking the aforementioned input for the test :--)

The specification doesn't only say what is supposed to happen when you
execute a correct program. Of course you can implement any such
specification in Forth if you can implement it in some other language.

For this problem, the specification says what is supposed to happen when
you compile the program, not just what happens when you execute it. It
says when you compile a program that tries to make an illegal move, the
compiler is supposed to signal a type error AT COMPILE TIME, not at run
time. The concept of a compile time type error is intrinsically one of
static types.

It is perfectly valid for a program specification to say things about
its meta-properties like that, and not just its runtime behaviour. For
example, a program specification might say the program is supposed to be
written in Forth, that every word is supposed to have a stack comment,
that its documentation is supposed to be written in Dutch, etc. You
can't satisfy those requirements with a Haskell program documented in
English.

This particular specification says to use static types in a certain way,
and gives a reasonable explanation of why you might want to do that.
Obviously, since the specification says "you must use static types", you
can't do it without static types. I can post my Haskell solution to
that problem if you want to see it, but here is one (not by me) that I
like even better:

https://www.reddit.com/r/haskell/comments/ti5il/redblack_trees_in_haskell_using_gadts_existential/

Re: Modern Forth

<8735m8sleb.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Fri, 31 Dec 2021 10:02:20 -0800
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <8735m8sleb.fsf@nightsong.com>
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>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="2f1173641a694aa6897296ee372b5fcf";
logging-data="23366"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18MY10T4uw8dzRswbnfTbbN"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:jyD9FcLtdG0ArDuygnl6ST91UHk=
sha1:STNL5Gr5tzq5rhjrrPrKASf0kF4=
 by: Paul Rubin - Fri, 31 Dec 2021 18:02 UTC

anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> I expect that his move and take-move-back words return one of the
> following subtypes of a board-state type:
>
> board-finished
> board-empty ...

Yes, my solution ended up looking like that.

> Anyway, about doing that in Forth: One could put the words in separate
> wordlists (with each wordlist representing a type), and then have
> words that do the type-guarding and wordlist lookup.

Oh, this is interesting, and very clever. Maybe it is in some sense
doable after all. I'll try to look at it more closely.

Pages:1234567
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor