Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Presidency: The greased pig in the field game of American politics. -- Ambrose Bierce


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

<87wnjuv2p4.fsf@nightsong.com>

  copy mid

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

  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, 24 Dec 2021 00:15:19 -0800
Organization: A noiseless patient Spider
Lines: 7
Message-ID: <87wnjuv2p4.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com>
<4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org>
<074e502a-7255-4459-99a6-33b2f7523948n@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>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="8de995f55174f5cbf963d7e7843b6741";
logging-data="12824"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/5/t1vVYwD76PEO8sW1w45"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:ZUfueBSC6iDhJ6FIuA62WWG7MOI=
sha1:bd4l6PxLNeIxq8ruiJmjZletGPU=
 by: Paul Rubin - Fri, 24 Dec 2021 08:15 UTC

Marcel Hendrix <mhx@iae.nl> writes:
> IOW, axiom one: the prover is correct?

No, come on. That type of issue can't be avoided in theory, but is
rarely an issue in practice. See:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.364&rep=rep1&type=pdf

Re: Modern Forth

<aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:538d:: with SMTP id x13mr5040668qtp.648.1640341344022;
Fri, 24 Dec 2021 02:22:24 -0800 (PST)
X-Received: by 2002:a05:620a:450b:: with SMTP id t11mr4225577qkp.609.1640341343849;
Fri, 24 Dec 2021 02:22:23 -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, 24 Dec 2021 02:22:23 -0800 (PST)
In-Reply-To: <87wnjuv2p4.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.30.53.30; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 84.30.53.30
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <aa4ec962-2b54-4de7-a398-79f8aeaef6d2n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 24 Dec 2021 10:22:24 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 12
 by: Marcel Hendrix - Fri, 24 Dec 2021 10:22 UTC

On Friday, December 24, 2021 at 9:15:21 AM UTC+1, Paul Rubin wrote:
> Marcel Hendrix <m...@iae.nl> writes:
> > IOW, axiom one: the prover is correct?
> No, come on. That type of issue can't be avoided in theory, but is
> rarely an issue in practice.

Ok, can we at least ask that the prover processes its own source code
with positive results?

One could bypass the problem by requiring that software for
purpose 'X' passes checks implemented by prover 'Y.'

-marcel

Re: Modern Forth

<fddcb968-7f18-49ef-8d5b-c05e2a3f1b81n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1705:: with SMTP id h5mr5008043qtk.331.1640342306045;
Fri, 24 Dec 2021 02:38:26 -0800 (PST)
X-Received: by 2002:ac8:4e96:: with SMTP id 22mr5114727qtp.76.1640342305892;
Fri, 24 Dec 2021 02:38: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: Fri, 24 Dec 2021 02:38:25 -0800 (PST)
In-Reply-To: <87wnjuv2p4.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.30.53.30; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 84.30.53.30
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fddcb968-7f18-49ef-8d5b-c05e2a3f1b81n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 24 Dec 2021 10:38:26 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Marcel Hendrix - Fri, 24 Dec 2021 10:38 UTC

On Friday, December 24, 2021 at 9:15:21 AM UTC+1, Paul Rubin wrote:
[..]
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.364&rep=rep1&type=pdf

A pity, one of those pdfs can not be copy/pasted from. Quite ironical, considering the
stament 1) that I wanted to highlight but can't :--)

-marcel

1) The paper's last paragraph.

Re: Modern Forth

<197ba9fe-1cfc-4748-bbeb-5614a7639724n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:c50:: with SMTP id 77mr4320193qkm.717.1640342573278;
Fri, 24 Dec 2021 02:42:53 -0800 (PST)
X-Received: by 2002:ac8:5c03:: with SMTP id i3mr5305382qti.107.1640342573076;
Fri, 24 Dec 2021 02:42: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: Fri, 24 Dec 2021 02:42:52 -0800 (PST)
In-Reply-To: <fddcb968-7f18-49ef-8d5b-c05e2a3f1b81n@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>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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> <fddcb968-7f18-49ef-8d5b-c05e2a3f1b81n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <197ba9fe-1cfc-4748-bbeb-5614a7639724n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Fri, 24 Dec 2021 10:42:53 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 17
 by: Nickolay Kolchin - Fri, 24 Dec 2021 10:42 UTC

On Friday, December 24, 2021 at 1:38:26 PM UTC+3, Marcel Hendrix wrote:
> On Friday, December 24, 2021 at 9:15:21 AM UTC+1, Paul Rubin wrote:
> [..]
> > http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.364&rep=rep1&type=pdf
>
> A pity, one of those pdfs can not be copy/pasted from. Quite ironical, considering the
> stament 1) that I wanted to highlight but can't :--)
>
> -marcel
>
> 1) The paper's last paragraph.

"Five decades ago, at the beginning of electronic computing, we chose (B).
If it is the case, as seems likely, that we can have languages of type (A) which
accomodate all the programs we need to write, bar a few special situations, it
may be time to reconsider this decision."

This?

Re: Modern Forth

<87k0fuute2.fsf@nightsong.com>

  copy mid

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

  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, 24 Dec 2021 03:36:21 -0800
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <87k0fuute2.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com>
<4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org>
<074e502a-7255-4459-99a6-33b2f7523948n@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>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="8de995f55174f5cbf963d7e7843b6741";
logging-data="17891"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188nuxC8wkJdtoZ23+G4qVp"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:wKnIEBgGR5mq3H7gv2w3ZUGdb30=
sha1:VbHECaqTHEZFb8igt7HJ4bWwI8w=
 by: Paul Rubin - Fri, 24 Dec 2021 11:36 UTC

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

I think we are not talking about the same thing. These provers are
usually not completely automatic. They are proof checkers with some
partial automation and some manual assistance.

Say your program has a variable N, and at a certain place in the
program, you require that N < 15. You can see where N is initialized,
and where it is incremented by 1 over here and by either 1 or 2 over
there, etc. Adding those up, you see N is at most 14, satisfying the
requirement. But just in case, you put in an "assert(N < 15)" , that
checks at runtime that N < 15. The idea is that N>=15 is definitely
a program bug.

Now you have a code review: the reviewer asks how you know that N < 15.
In principle your answer could rely on horrendous math, but in practice
it is usually straightforward, like above. So you can give a reasonable
explanation to the reviewer. That is similar to what a verifier like
SPARK does. It sees the assert statement and tries to prove that the
assert never fails. It can often figure out the proof by itself, though
sometimes you have to help it. Once the assertion is proved, the
compiler can eliminate the runtime check and you can be sure that the
program won't crash.

I believe SPARK proofs are all in quite simple arithmetic, level 1 of
the arithmetic hierarchy if you're familiar with that. The proof
automation is done with SAT solvers which don't always succeed, thus the
occasional need for manual help.

Obviously at the bottom of all this, there are some assumptions like
"Peano arithmetic is consistent". There is no way around that in
regular mathematics either.

The issues are somewhat different for fancier proof systems intended
more for math theorems than for program checking, so I'll skip that.

Re: Modern Forth

<c4dcea02-7707-4150-972a-78d72c936251n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:2a88:: with SMTP id jr8mr5326853qvb.118.1640347742148;
Fri, 24 Dec 2021 04:09:02 -0800 (PST)
X-Received: by 2002:ad4:5aeb:: with SMTP id c11mr5361588qvh.25.1640347741971;
Fri, 24 Dec 2021 04:09:01 -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: Fri, 24 Dec 2021 04:09:01 -0800 (PST)
In-Reply-To: <87k0fuute2.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>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c4dcea02-7707-4150-972a-78d72c936251n@googlegroups.com>
Subject: Re: Modern Forth
From: nbkolc...@gmail.com (Nickolay Kolchin)
Injection-Date: Fri, 24 Dec 2021 12:09:02 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Nickolay Kolchin - Fri, 24 Dec 2021 12:09 UTC

On Friday, December 24, 2021 at 2:36:27 PM UTC+3, Paul Rubin wrote:

>
> I believe SPARK proofs are all in quite simple arithmetic, level 1 of
> the arithmetic hierarchy if you're familiar with that. The proof
> automation is done with SAT solvers which don't always succeed, thus the
> occasional need for manual help.
>

AdaCore uses why3 which is the frontend to various provers. Most common
are Z3, Alt-Ergo and CVC4.

Re: Modern Forth

<fba13bfa-b27e-4b4e-b075-3130d9589d29n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:95c:: with SMTP id w28mr4570593qkw.229.1640352119746;
Fri, 24 Dec 2021 05:21:59 -0800 (PST)
X-Received: by 2002:a05:6214:2345:: with SMTP id hu5mr5570073qvb.130.1640352119548;
Fri, 24 Dec 2021 05:21:59 -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: Fri, 24 Dec 2021 05:21:59 -0800 (PST)
In-Reply-To: <c4dcea02-7707-4150-972a-78d72c936251n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f26:2ccc:c531:132d:ce07:8e6a;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f26:2ccc:c531:132d:ce07:8e6a
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com> <c4dcea02-7707-4150-972a-78d72c936251n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fba13bfa-b27e-4b4e-b075-3130d9589d29n@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Fri, 24 Dec 2021 13:21:59 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: minf...@arcor.de - Fri, 24 Dec 2021 13:21 UTC

Nickolay Kolchin schrieb am Freitag, 24. Dezember 2021 um 13:09:04 UTC+1:
> On Friday, December 24, 2021 at 2:36:27 PM UTC+3, Paul Rubin wrote:
>
> >
> > I believe SPARK proofs are all in quite simple arithmetic, level 1 of
> > the arithmetic hierarchy if you're familiar with that. The proof
> > automation is done with SAT solvers which don't always succeed, thus the
> > occasional need for manual help.
> >
> AdaCore uses why3 which is the frontend to various provers. Most common
> are Z3, Alt-Ergo and CVC4.

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

Re: Modern Forth

<sq4j6g$1g6$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: krishna....@ccreweb.org (Krishna Myneni)
Newsgroups: comp.lang.forth
Subject: Re: Modern Forth
Date: Fri, 24 Dec 2021 07:50:06 -0600
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <sq4j6g$1g6$1@dont-email.me>
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>
<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>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 24 Dec 2021 13:50:08 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="2f14cf6baf34c130d211f90e0f45cee3";
logging-data="1542"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19uRkWSNjdkQgT1DhfHxYu5"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:ks/Nlmw61cHxXipSMO/nZKrmKAo=
In-Reply-To: <sq3ror$q76$1@gioia.aioe.org>
Content-Language: en-US
 by: Krishna Myneni - Fri, 24 Dec 2021 13:50 UTC

On 12/24/21 01:10, dxforth wrote:
> On 24/12/2021 14:26, minf...@arcor.de wrote:
....
>> Nevertheless it speaks volumes to mention 'standardized data structures'
>> (ie BEGIN-STRUCTURE .. +FIELD .. END-STRUCTURE) as improvement in
>> Forth2012. This is at grass roots level, it can't get any lower.
>
> You can define them yourself - if you really needed them.  They mimic
> methods
> found in other languages, despite Forth offering other possibilities which
> are arguably more forth-like.  Forth today smacks of 'cultural cringe'.
> You
> could put it in the Standard and nobody would even notice :)
>

And you can still define structures yourself, despite standardized
versions being present in Forth systems. In fact, revisions to my own
legacy code uses a mix of an older non-standard structures package
(struct.4th) with the standardized structures from Forth 2012. A notable
exception is my version of the FSL which has been updated to use
standardized structures. All new code which I write uses the Forth 2012
standardized structures.

The case for standardized structures is simple. It means I can use the
work of others, and others can use mine, with little effort. If you only
work in isolation, without need for or interest in the work of others,
or in making your shared source easily usable by others, then you can
certainly ignore standardized structures, whether they are present or not.

Krishna

Re: Modern Forth

<4225827c-73cc-40ea-990e-acdb09029e55n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1b8d:: with SMTP id bp13mr6262615qtb.666.1640363360771;
Fri, 24 Dec 2021 08:29:20 -0800 (PST)
X-Received: by 2002:ac8:4e96:: with SMTP id 22mr6295362qtp.76.1640363360627;
Fri, 24 Dec 2021 08:29:20 -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: Fri, 24 Dec 2021 08:29:20 -0800 (PST)
In-Reply-To: <197ba9fe-1cfc-4748-bbeb-5614a7639724n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.30.53.30; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 84.30.53.30
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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> <fddcb968-7f18-49ef-8d5b-c05e2a3f1b81n@googlegroups.com>
<197ba9fe-1cfc-4748-bbeb-5614a7639724n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4225827c-73cc-40ea-990e-acdb09029e55n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 24 Dec 2021 16:29:20 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 23
 by: Marcel Hendrix - Fri, 24 Dec 2021 16:29 UTC

On Friday, December 24, 2021 at 11:42:53 AM UTC+1, Nickolay Kolchin wrote:
> On Friday, December 24, 2021 at 1:38:26 PM UTC+3, Marcel Hendrix wrote:
> > On Friday, December 24, 2021 at 9:15:21 AM UTC+1, Paul Rubin wrote:
> > [..]
> > > http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.364&rep=rep1&type=pdf
> >
> > A pity, one of those pdfs can not be copy/pasted from. Quite ironical, considering the
> > stament 1) that I wanted to highlight but can't :--)
> >
> > -marcel
> >
> > 1) The paper's last paragraph.
> "Five decades ago, at the beginning of electronic computing, we chose (B).
> If it is the case, as seems likely, that we can have languages of type (A) which
> accomodate all the programs we need to write, bar a few special situations, it
> may be time to reconsider this decision."
>
> This?

Thanks!

Further comment is superfluous.

-marcel

Re: Modern Forth

<c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:100f:: with SMTP id z15mr6494382qti.488.1640365543086;
Fri, 24 Dec 2021 09:05:43 -0800 (PST)
X-Received: by 2002:a05:622a:10e:: with SMTP id u14mr5774008qtw.493.1640365542927;
Fri, 24 Dec 2021 09:05:42 -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: Fri, 24 Dec 2021 09:05:42 -0800 (PST)
In-Reply-To: <87k0fuute2.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.30.53.30; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 84.30.53.30
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 24 Dec 2021 17:05:43 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 29
 by: Marcel Hendrix - Fri, 24 Dec 2021 17:05 UTC

On Friday, December 24, 2021 at 12:36:27 PM UTC+1, Paul Rubin wrote:
> Marcel Hendrix <m...@iae.nl> writes:
[..]
> Say your program has a variable N, and at a certain place in the
> program, you require that N < 15. You can see where N is initialized,
> and where it is incremented by 1 over here and by either 1 or 2 over
> there, etc. Adding those up, you see N is at most 14, satisfying the
> requirement. But just in case, you put in an "assert(N < 15)" , that
> checks at runtime that N < 15. The idea is that N>=15 is definitely
> a program bug.

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?
At compile-time? At run-time? Once? Always?

-marcel

Re: Modern Forth

<87fsqhvmb8.fsf@nightsong.com>

  copy mid

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

  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, 24 Dec 2021 11:23:55 -0800
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <87fsqhvmb8.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com>
<4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org>
<074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com>
<c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="8de995f55174f5cbf963d7e7843b6741";
logging-data="22026"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18739yNl6ZoRoHoc4OECuyH"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:xYRXBfh2/G4JG0OBgDJTTOZNZ9E=
sha1:UepdGumFJOGYRo8+A1Giz4f2j5k=
 by: Paul Rubin - Fri, 24 Dec 2021 19:23 UTC

Marcel Hendrix <mhx@iae.nl> writes:
> How would one use SPARK to usefully catch such a problem?
> At compile-time? At run-time? Once? Always?

You would write a contract with that spec, i.e.

POST => IF y /= 0 THEN r = x - y*q;

or something like that. POST means it is a postcondition for the
function. SPARK is a static verifier so you would run it at compile
time, or possibly as a separate (pre-compilation) phase or your build
process. Floating point being messy, I don't know what the proof would
look like. In the event that SPARK couldn't prove the postcondition, it
would give you an example of values of x and y where the condition
failed.

Here is a simple SPARK example:

https://learn.adacore.com/courses/intro-to-spark/chapters/01_Overview.html#a-trivial-example

There are more complicated examples in that document as well.

Re: Modern Forth

<73180d0d-6a7c-4b93-a8c0-f68d4e2a1298n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:2409:: with SMTP id fv9mr7020870qvb.24.1640376803200;
Fri, 24 Dec 2021 12:13:23 -0800 (PST)
X-Received: by 2002:a05:622a:1211:: with SMTP id y17mr4760736qtx.589.1640376802999;
Fri, 24 Dec 2021 12:13: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: Fri, 24 Dec 2021 12:13:22 -0800 (PST)
In-Reply-To: <87fsqhvmb8.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=99.242.210.36; posting-account=2z7GawoAAADc70p5SM5AbaCyzjLblS3g
NNTP-Posting-Host: 99.242.210.36
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com> <c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
<87fsqhvmb8.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <73180d0d-6a7c-4b93-a8c0-f68d4e2a1298n@googlegroups.com>
Subject: Re: Modern Forth
From: brian....@brianfox.ca (Brian Fox)
Injection-Date: Fri, 24 Dec 2021 20:13:23 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 24
 by: Brian Fox - Fri, 24 Dec 2021 20:13 UTC

On Friday, December 24, 2021 at 2:23:57 PM UTC-5, Paul Rubin wrote:
> Marcel Hendrix <m...@iae.nl> writes:
> > How would one use SPARK to usefully catch such a problem?
> > At compile-time? At run-time? Once? Always?
> You would write a contract with that spec, i.e.
>
> POST => IF y /= 0 THEN r = x - y*q;
>
> or something like that. POST means it is a postcondition for the
> function. SPARK is a static verifier so you would run it at compile
> time, or possibly as a separate (pre-compilation) phase or your build
> process. Floating point being messy, I don't know what the proof would
> look like. In the event that SPARK couldn't prove the postcondition, it
> would give you an example of values of x and y where the condition
> failed.
>
> Here is a simple SPARK example:
>
> https://learn.adacore.com/courses/intro-to-spark/chapters/01_Overview.html#a-trivial-example
>
> There are more complicated examples in that document as well.

Could the Hayes tester be used to write such "contracts" for a Forth project?
It might appear to be self-referential but if the entire system and the application
were tested as they compiled it would be pretty solid wouldn't it?

Re: Modern Forth

<d97a0788-ea50-4f7c-a5b6-32ba43b68101n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5c50:: with SMTP id j16mr7050669qtj.255.1640377582535;
Fri, 24 Dec 2021 12:26:22 -0800 (PST)
X-Received: by 2002:a37:69c4:: with SMTP id e187mr5785442qkc.159.1640377582377;
Fri, 24 Dec 2021 12:26: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: Fri, 24 Dec 2021 12:26:22 -0800 (PST)
In-Reply-To: <87fsqhvmb8.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.30.53.30; posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 84.30.53.30
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com> <4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com> <c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
<87fsqhvmb8.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d97a0788-ea50-4f7c-a5b6-32ba43b68101n@googlegroups.com>
Subject: Re: Modern Forth
From: mhx...@iae.nl (Marcel Hendrix)
Injection-Date: Fri, 24 Dec 2021 20:26:22 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 27
 by: Marcel Hendrix - Fri, 24 Dec 2021 20:26 UTC

On Friday, December 24, 2021 at 8:23:57 PM UTC+1, Paul Rubin wrote:
> Marcel Hendrix <m...@iae.nl> writes:
> > How would one use SPARK to usefully catch such a problem?
> > At compile-time? At run-time? Once? Always?
> You would write a contract with that spec, i.e.
>
> POST => IF y /= 0 THEN r = x - y*q;
>
> or something like that. POST means it is a postcondition for the
> function. SPARK is a static verifier so you would run it at compile
> time, or possibly as a separate (pre-compilation) phase or your build
> process. Floating point being messy, I don't know what the proof would
> look like. In the event that SPARK couldn't prove the postcondition, it
> would give you an example of values of x and y where the condition
> failed.
>
> Here is a simple SPARK example:
>
> https://learn.adacore.com/courses/intro-to-spark/chapters/01_Overview.html#a-trivial-example
>
> There are more complicated examples in that document as well.

Cool stuff -- I could change, execute, and check the examples on-line.

It let me add 1.0e-422 to X without problem. That is of course not
necessarily wrong.

-marcel

Re: Modern Forth

<87bl15vg71.fsf@nightsong.com>

  copy mid

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

  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, 24 Dec 2021 13:36:02 -0800
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <87bl15vg71.fsf@nightsong.com>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
<875yrfx3bt.fsf@nightsong.com>
<4435cc6d-8746-42ac-90e8-69492ba840f3n@googlegroups.com>
<sq1ioh$etf$1@gioia.aioe.org>
<074e502a-7255-4459-99a6-33b2f7523948n@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>
<87k0fuute2.fsf@nightsong.com>
<c83278ad-389a-47b3-a1e8-f4d9f132867en@googlegroups.com>
<87fsqhvmb8.fsf@nightsong.com>
<73180d0d-6a7c-4b93-a8c0-f68d4e2a1298n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="8de995f55174f5cbf963d7e7843b6741";
logging-data="5383"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0c9nK/bDtlNZBsZZlf6no"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:hYzwd9Bj07i9p6mpXJRvTzmjMks=
sha1:m1w5uGXFUn4wBm85imL/OdPiiEA=
 by: Paul Rubin - Fri, 24 Dec 2021 21:36 UTC

Brian Fox <brian.fox@brianfox.ca> writes:
> Could the Hayes tester be used to write such "contracts" for a Forth
> project?

Contracts checked at runtime (they amount to assert statements) are a
standard technique that sometimes catches errors. However, the usual
warning about testing is that sometimes the errors live in weird edge
cases that escape the tests.

Haskell has a test framework called QuickCheck that other languages have
grown versions of. QuickCheck examines the type signature of a function
and uses it to generate random values of the relevant type, basically
fuzz-testing the function. I guess that could be done for Forth too,
though the types and test vectors would need more manual setup since
Forth doesn't have static types.

For a while, static verification tools like Coverity were popular for
C. I've been told that in recent years, they have been somewhat
displaced by fuzzing systems, which are also quite effective in practice
(at least for C). I don't know whether that also applies to Frama-C,
which appears to be somewhat like SPARK.

Re: Modern Forth

<778dbe6a-465d-4985-8bb7-41f157efbc6dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:2596:: with SMTP id x22mr8060780qko.408.1640473245983;
Sat, 25 Dec 2021 15:00:45 -0800 (PST)
X-Received: by 2002:a05:620a:b1a:: with SMTP id t26mr5637974qkg.571.1640473245835;
Sat, 25 Dec 2021 15:00: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: Sat, 25 Dec 2021 15:00:45 -0800 (PST)
In-Reply-To: <sq2viq$2k0$1@dont-email.me>
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>
<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>
<6cbbbd42-5fc4-460c-88bd-85c59df36cbfn@googlegroups.com> <sq2viq$2k0$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <778dbe6a-465d-4985-8bb7-41f157efbc6dn@googlegroups.com>
Subject: Re: Modern Forth
From: hughagui...@gmail.com (Hugh Aguilar)
Injection-Date: Sat, 25 Dec 2021 23:00:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 36
 by: Hugh Aguilar - Sat, 25 Dec 2021 23:00 UTC

On Thursday, December 23, 2021 at 4:09:16 PM UTC-7, Krishna Myneni wrote:
> On 12/22/21 22:30, Nickolay Kolchin wrote:
> > Can you name Forth major evolution points since ANS?
> >
> In my opinion, Forth 2012 was the next significant evolution point. It
> cleaned up and added some missing floating point functionality (and also
> standardized the separate fp stack), added standardized data structures,
> standardized numeric input in different bases, added the concept of
> "name token" along with a so-called higher order function which allowed
> deeper introspection into the system, provided optional support for
> recognizing extended characters for all words which deal with character
> input and output, added a low-level parsing word which was needed, added
> support for non-printable characters in strings, improved deferred word
> support, and some other features.

LOL
Forth 2012 was worthless, and Forth-200x continues to be worthless.

The only "evolution point" since ANS-Forth was my rquotations.
This is roughly comparable to the "evolution point" in human development
when we began using tools, distinguishing ourselves from the beasts.
Note that ANSI-C programmers continue to lack anything comparable to
my rquotations --- GCC does have nested functions, but that is non-standard
in the ANSI-C world just as my rquotations are non-standard in Forth-200x.
The rquotations, by themselves, are more valuable than anything that the
entire Forth-200x committee has come up with --- Forth can do without
the Forth-200x committee, but needs rquotations in order to support
general-purpose data-structures which are necessary to have a future.

Also, I think that my STRING-STACK.4TH qualifies as an "evolution point."
There have been multiple weak attempts at a string-stack in Forth, starting with
Wil Baden's, but all of them move entire strings in memory when doing string-stack
juggling and all of them have severe limitations on how many strings are
supported and how big the strings can be. Only my STRING-STACK.4TH has
COW (copy-on-write) that allows pointers to be moved most of the time when
stack juggling, and has no limitation on how many strings can be on the stack
or how big they can be.

Re: Modern Forth

<9abdc1dd-e1fb-4ee2-a214-f7015993405dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:64c:: with SMTP id a12mr11031761qtb.312.1640513586373;
Sun, 26 Dec 2021 02:13:06 -0800 (PST)
X-Received: by 2002:a05:6214:c8e:: with SMTP id r14mr11286172qvr.38.1640513586199;
Sun, 26 Dec 2021 02:13: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: Sun, 26 Dec 2021 02:13:06 -0800 (PST)
In-Reply-To: <778dbe6a-465d-4985-8bb7-41f157efbc6dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f26:2c29:c09c:bb9c:8dfc:dbc1;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f26:2c29:c09c:bb9c:8dfc:dbc1
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> <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>
<778dbe6a-465d-4985-8bb7-41f157efbc6dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9abdc1dd-e1fb-4ee2-a214-f7015993405dn@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Sun, 26 Dec 2021 10:13:06 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 38
 by: minf...@arcor.de - Sun, 26 Dec 2021 10:13 UTC

Hugh Aguilar schrieb am Sonntag, 26. Dezember 2021 um 00:00:46 UTC+1:
> On Thursday, December 23, 2021 at 4:09:16 PM UTC-7, Krishna Myneni wrote:
> > On 12/22/21 22:30, Nickolay Kolchin wrote:
> > > Can you name Forth major evolution points since ANS?
> > >
> > In my opinion, Forth 2012 was the next significant evolution point. It
> > cleaned up and added some missing floating point functionality (and also
> > standardized the separate fp stack), added standardized data structures,
> > standardized numeric input in different bases, added the concept of
> > "name token" along with a so-called higher order function which allowed
> > deeper introspection into the system, provided optional support for
> > recognizing extended characters for all words which deal with character
> > input and output, added a low-level parsing word which was needed, added
> > support for non-printable characters in strings, improved deferred word
> > support, and some other features.
> LOL
> Forth 2012 was worthless, and Forth-200x continues to be worthless.
>
> The only "evolution point" since ANS-Forth was my rquotations.
> This is roughly comparable to the "evolution point" in human development
> when we began using tools, distinguishing ourselves from the beasts.
> Note that ANSI-C programmers continue to lack anything comparable to
> my rquotations --- GCC does have nested functions, but that is non-standard
> in the ANSI-C world just as my rquotations are non-standard in Forth-200x.
> The rquotations, by themselves, are more valuable than anything that the
> entire Forth-200x committee has come up with --- Forth can do without
> the Forth-200x committee, but needs rquotations in order to support
> general-purpose data-structures which are necessary to have a future.
>
> Also, I think that my STRING-STACK.4TH qualifies as an "evolution point."
> There have been multiple weak attempts at a string-stack in Forth, starting with
> Wil Baden's, but all of them move entire strings in memory when doing string-stack
> juggling and all of them have severe limitations on how many strings are
> supported and how big the strings can be. Only my STRING-STACK.4TH has
> COW (copy-on-write) that allows pointers to be moved most of the time when
> stack juggling, and has no limitation on how many strings can be on the stack
> or how big they can be.

You are progressing. I didn't think you could be so self-humourous. :o)

Re: Modern Forth

<sqcbug$1gkk$1@gioia.aioe.org>

  copy mid

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

  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: Mon, 27 Dec 2021 23:35:27 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sqcbug$1gkk$1@gioia.aioe.org>
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>
<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> <sq4j6g$1g6$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="49812"; 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 - Mon, 27 Dec 2021 12:35 UTC

On 25/12/2021 00:50, Krishna Myneni wrote:
> On 12/24/21 01:10, dxforth wrote:
>> On 24/12/2021 14:26, minf...@arcor.de wrote:
> ...
>>> Nevertheless it speaks volumes to mention 'standardized data structures'
>>> (ie BEGIN-STRUCTURE .. +FIELD .. END-STRUCTURE) as improvement in
>>> Forth2012. This is at grass roots level, it can't get any lower.
>>
>> You can define them yourself - if you really needed them.  They mimic
>> methods
>> found in other languages, despite Forth offering other possibilities which
>> are arguably more forth-like.  Forth today smacks of 'cultural cringe'.
>> You
>> could put it in the Standard and nobody would even notice :)
>>
>
> And you can still define structures yourself, despite standardized
> versions being present in Forth systems. In fact, revisions to my own
> legacy code uses a mix of an older non-standard structures package
> (struct.4th) with the standardized structures from Forth 2012. A notable
> exception is my version of the FSL which has been updated to use
> standardized structures. All new code which I write uses the Forth 2012
> standardized structures.
>
> The case for standardized structures is simple. It means I can use the
> work of others, and others can use mine, with little effort. If you only
> work in isolation, without need for or interest in the work of others,
> or in making your shared source easily usable by others, then you can
> certainly ignore standardized structures, whether they are present or not.

Who needs structures?

1) Turbo Pascal target

153 constant 'TNAME \ terminal name
1A0 constant 'TDCM \ terminal delays
1BA constant 'TDCLS \
1CE constant 'TDEOL \

\ copy terminal data to target
: TNAME ( -- ) 'tname 0 set.s ; \ terminal name
: TINIT ( -- ) 16B 16 set.s ; \ term init
: TEXIT ( -- ) 17B 26 set.s ; \ term exit
: TCM ( -- ) 18B 36 set.s ; \ cursor motion template
: TBIN ( -- ) 19B 46 set.b ; \ binary mode
: TPOS ( -- ) 19E 47 set.w ; \ col row pos
: TOFFS ( -- ) 19C 49 set.w ; \ col row offset
: TDCM ( -- ) 'tdcm 4B set.w ; \ cm delay
: TCLS ( -- ) 1A2 4D set.s ; \ clear screen
: THOM ( -- ) 1A8 53 set.s ; \ home cursor
: TDCLS ( -- ) 'tdcls 59 set.w ; \ cls delay
: THIL ( -- ) 1C2 5B set.s ; \ hilight video
: TNOR ( -- ) 1C8 61 set.s ; \ normal video
: TDEOL ( -- ) 'tdeol 67 set.w ; \ eol delay
: TEOL ( -- ) 1BC 69 set.s ; \ clear to end-of-line
: TINS ( -- ) 1AE 6F set.s ; \ insert line
: TDEL ( -- ) 1B4 75 set.s ; \ delete line
: TCR ( -- ) 168 7B set.w ; \ # cols rows

2) Turbo Modula-2 target

352 constant 'TNAME \ terminal name
3A0 constant 'TDCM \ terminal delays
3BE constant 'TDCLS \
3D6 constant 'TDEOL \

\ copy terminal data to target
: TNAME ( -- ) 'tname 0 set.s ; \ terminal name
: TINIT ( -- ) 36A 16 set.s ; \ term init
: TEXIT ( -- ) 37A 26 set.s ; \ term exit
: TCM ( -- ) 38A 36 set.s ; \ cursor motion template
: TBIN ( -- ) 39A 46 set.b ; \ binary mode
: TPOS ( -- ) 39E 47 set.w ; \ col row pos
: TOFFS ( -- ) 39C 49 set.w ; \ col row offset
: TDCM ( -- ) 'tdcm 4B set.w ; \ cm delay
: TCLS ( -- ) 3A2 4D set.s ; \ clear screen
: THOM ( -- ) 3A8 53 set.s ; \ home cursor
: TDCLS ( -- ) 'tdcls 59 set.w ; \ cls delay
: THIL ( -- ) 3CE 5B set.s ; \ hilight video
: TNOR ( -- ) 3C6 61 set.s ; \ normal video
: TDEOL ( -- ) 'tdeol 67 set.w ; \ eol delay
: TEOL ( -- ) 3C0 69 set.s ; \ clear to end-of-line
: TINS ( -- ) 3AE 6F set.s ; \ insert line
: TDEL ( -- ) 3B8 75 set.s ; \ delete line
: TCR ( -- ) 368 7B set.w ; \ # cols rows

Re: Modern Forth

<2021Dec28.191523@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Tue, 28 Dec 2021 18:15:23 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 25
Message-ID: <2021Dec28.191523@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="601e837a5ee8f3e908f93612dbc27cca";
logging-data="26177"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nutdpRatkoDUdKN55/Qf3"
Cancel-Lock: sha1:ZQzthC/tL+4Kh5Z156ssekkpCRI=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 28 Dec 2021 18:15 UTC

"minf...@arcor.de" <minforth@arcor.de> writes:
>Where are Forth's main application niches today?
>What is lacking in Forth that prevents it from filling these niches?

Today's niches are filled by today's Forths. But one may wonder what
potential niches for Forth exist, and if Forth is missing something
for that niche.

One niche that I see for Forth is low-level programming. C has been
used for that in the past, and still is, but there is a movement in
the C world that denies that C was ever meant to be used in that way,
so C is moving away from this niche.

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). I have sketched PAF, a dialect of Forth
for that, but have not yet found time to implement it.

- 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

<2021Dec28.193317@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Tue, 28 Dec 2021 18:33:17 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 18
Message-ID: <2021Dec28.193317@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <809f551a-88da-40bb-ab00-77098251f5d7n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="601e837a5ee8f3e908f93612dbc27cca";
logging-data="26177"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX182NyVqmr16t1xQ0cHC+9Uk"
Cancel-Lock: sha1:8g01cVWWWyLr7YqSu6adC7ZgCBU=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 28 Dec 2021 18:33 UTC

Marcel Hendrix <mhx@iae.nl> writes:
>The only thing they
>are missing (I guess) in the current time segment
>is the Forth Dimensions/FORML/JFAR type of
>papers of the past era.

There is EuroForth for publishing such papers, but people also need to
write them. It seems that since 2020 people have written fewer
papers; maybe the Covid situation consumed the time that people would
otherwise have spent on writing, or maybe they decided that videos are
good enough.

- 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

<2021Dec28.194243@mips.complang.tuwien.ac.at>

  copy mid

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

  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: Tue, 28 Dec 2021 18:42:43 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 39
Message-ID: <2021Dec28.194243@mips.complang.tuwien.ac.at>
References: <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>
Injection-Info: reader02.eternal-september.org; posting-host="601e837a5ee8f3e908f93612dbc27cca";
logging-data="26177"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX192nSjM588jU9Hi8x0zFcsk"
Cancel-Lock: sha1:9nw+wJZp03Pz4H2afcUjbEocxGk=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 28 Dec 2021 18:42 UTC

Andy Valencia <vandys@vsta.org> writes:
>I've done pretty big apps in Forth. Now I do them mostly in Python. Things
>don't corrupt, you can ^C out

You can ^C out of Gforth and other Forth systems, with some
differences in functionality. E.g., for running the following line
from the Forth command line:

: foo begin again ; foo

and then pressing ^C:

Gforth 0.7.3:
: foo begin again ; foo
:1: User interrupt
: foo begin again ; >>>foo<<<
Backtrace:
$7F80C009C4C0 branch

and you are back in the Forth command line.

SwiftForth i386-Linux 3.11.0 23-Feb-2021
: foo begin again ; foo Segmentation fault

needs two ^C and you are than back in the shell (I remember it being
nicer in other cases).

VFX Forth 64 5.11 RC2 [build 0112] 2021-05-02 for Linux x64:

: foo begin again ; foo

You are back in the shell after one ^C.

- 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

<ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:21e3:: with SMTP id p3mr20903292qvj.116.1640718824108;
Tue, 28 Dec 2021 11:13:44 -0800 (PST)
X-Received: by 2002:a05:620a:11b8:: with SMTP id c24mr13442515qkk.227.1640718823940;
Tue, 28 Dec 2021 11:13:43 -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: Tue, 28 Dec 2021 11:13:43 -0800 (PST)
In-Reply-To: <2021Dec28.191523@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f26:2cbf:4841:eb0c:f85a:8f0c;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f26:2cbf:4841:eb0c:f85a:8f0c
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <2021Dec28.191523@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ba7b31c5-29be-45a4-913d-1fa19b8e5244n@googlegroups.com>
Subject: Re: Modern Forth
From: minfo...@arcor.de (minf...@arcor.de)
Injection-Date: Tue, 28 Dec 2021 19:13:44 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 13
 by: minf...@arcor.de - Tue, 28 Dec 2021 19:13 UTC

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.
Programmer time has become much more important.

This implies eg
- compiler performance for high semantical expressiveness
- catching as meany errors as possible in an early development stage
(most users/customers don't accept crashing as "bug detection facility")
- good integration with powerful development and maintenance tools

Re: Modern Forth

<164074187971.12111.2199145074425913636@media.vsta.org>

  copy mid

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

  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: Tue, 28 Dec 2021 17:37:59 -0800
Lines: 35
Message-ID: <164074187971.12111.2199145074425913636@media.vsta.org>
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>
X-Trace: individual.net Tlx1py1D58JmHffGsTkMaQgeHtZQ2TSWlKeRStDnA1LmCeutoy
X-Orig-Path: media
Cancel-Lock: sha1:9tznDYlQoDUXWG4ImPw9k+IJIpA=
User-Agent: rn.py v0.0.1
 by: Andy Valencia - Wed, 29 Dec 2021 01:37 UTC

anton@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

Quit.
(No response at all, not ^C, took ^\ to abort out to the shell.)

It's a great environment (ForthOS has nothing to compare with its
memory safety, never mind the ^C support). What do you think about
the string processing question I posted?

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

Re: Modern Forth

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

  copy mid

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

  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 15:21:29 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 23
Message-ID: <2021Dec29.162129@mips.complang.tuwien.ac.at>
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> <spvgp6$35d$1@dont-email.me> <3c5fe10c-9fa3-42fd-a2c7-fc0c2917a048n@googlegroups.com> <sq0sr6$o41$1@dont-email.me>
Injection-Info: reader02.eternal-september.org; posting-host="2e141295c0dddb58798421c960cadba4";
logging-data="25770"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+24N93U9UFjIsUUwgOrvC5"
Cancel-Lock: sha1:ib2WpoYCvwr+i2SlWEr5H0vXlI4=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 29 Dec 2021 15:21 UTC

Krishna Myneni <krishna.myneni@ccreweb.org> writes:
>But, perhaps the most important reason
>that Forth was quickly overtaken was that the large software/hardware
>companies of the early 1990s, such as Microsoft, Borland, Sun
>Microsystems, threw their weight behind the conventional language
>descendants. This meant, for example, they could develop large libraries
>of ready to use components.

But, e.g., Python did not come from these companies and still became
popular.

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. I see
too little of that (and too much anti-library sentiment) 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

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

  copy mid

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

  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:35:27 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 23
Message-ID: <2021Dec29.173527@mips.complang.tuwien.ac.at>
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>
Injection-Info: reader02.eternal-september.org; posting-host="2e141295c0dddb58798421c960cadba4";
logging-data="15219"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/a4CqaYMD5uXPn/ieTsJ9o"
Cancel-Lock: sha1:qs1oaoaBbUNriR/J0YL1eVUxdPU=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 29 Dec 2021 16:35 UTC

dxforth <dxforth@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

http://www.forth200x.org/directories.html (withdrawn due to vigorous
resistance)

Possibly other pieces, but already this one was successfully resisted.

>when and who?

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.

- 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.174526@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!rocksolid2!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:45:26 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 22
Message-ID: <2021Dec29.174526@mips.complang.tuwien.ac.at>
References: <dd0c04e4-c6c3-498b-a051-6711630588d7n@googlegroups.com> <sq1ioh$etf$1@gioia.aioe.org> <074e502a-7255-4459-99a6-33b2f7523948n@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>
Injection-Info: reader02.eternal-september.org; posting-host="2e141295c0dddb58798421c960cadba4";
logging-data="15219"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Rjw+B8ulREOoCG8g8zPnF"
Cancel-Lock: sha1:9yqoPzCDdAxg8uS262jI0w1F+CQ=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 29 Dec 2021 16:45 UTC

Marcel Hendrix <mhx@iae.nl> writes:
>On Thursday, December 23, 2021 at 6:36:58 PM UTC+1, Anton Ertl wrote:
>> Marcel Hendrix <m...@iae.nl> writes:
>> >How do these tools get past Goedel's second theorem?
>> Do they? Do they need to? I don't think so. The typical way with
>> correctness proofs is that the programmer needs to write the program
>> in a way that is accepted by the prover.
>
>IOW, axiom one: the prover is correct?

Not IOW; that's a different issue.

My point was that the prover (even if correct) cannot just prove
arbitrary code you throw at it. You have to write your program in a
special way, so that the prover can do its magic.

- 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