Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

UNIX is many things to many people, but it's never been everything to anybody.


devel / comp.lang.forth / Re: Avoiding processor penalty by KISS and no sugar

SubjectAuthor
* Avoiding processor penalty by KISS and no sugarS Jack
+* Re: Avoiding processor penalty by KISS and no sugarS Jack
|`* Re: Avoiding processor penalty by KISS and no sugarUlrich Hoffmann
| +* Re: Avoiding processor penalty by KISS and no sugarS Jack
| |+* Re: Avoiding processor penalty by KISS and no sugardxforth
| ||`* Re: Avoiding processor penalty by KISS and no sugarS Jack
| || +- Re: Avoiding processor penalty by KISS and no sugarBranimir Maksimovic
| || `* Re: Avoiding processor penalty by KISS and no sugardxforth
| ||  `* Re: Avoiding processor penalty by KISS and no sugarS Jack
| ||   `- Re: Avoiding processor penalty by KISS and no sugarS Jack
| |`* Re: Avoiding processor penalty by KISS and no sugarUlrich Hoffmann
| | +- Re: Avoiding processor penalty by KISS and no sugarRuvim
| | +- Re: Avoiding processor penalty by KISS and no sugarS Jack
| | `* Re: Avoiding processor penalty by KISS and no sugarS Jack
| |  +* Re: Avoiding processor penalty by KISS and no sugardxforth
| |  |`- Re: Avoiding processor penalty by KISS and no sugarS Jack
| |  +* Re: Avoiding processor penalty by KISS and no sugarAnton Ertl
| |  |`- Re: Avoiding processor penalty by KISS and no sugarS Jack
| |  `* Re: Avoiding processor penalty by KISS and no sugarminf...@arcor.de
| |   +* Re: Avoiding processor penalty by KISS and no sugarBranimir Maksimovic
| |   |`* Re: Avoiding processor penalty by KISS and no sugardxforth
| |   | +- Re: Avoiding processor penalty by KISS and no sugarBranimir Maksimovic
| |   | `* Re: Avoiding processor penalty by KISS and no sugarPaul Rubin
| |   |  `* Re: Avoiding processor penalty by KISS and no sugardxforth
| |   |   `* Re: Avoiding processor penalty by KISS and no sugarPaul Rubin
| |   |    +* Re: Avoiding processor penalty by KISS and no sugardxforth
| |   |    |`* Re: Avoiding processor penalty by KISS and no sugarPaul Rubin
| |   |    | `- Re: Avoiding processor penalty by KISS and no sugardxforth
| |   |    `* Re: Avoiding processor penalty by KISS and no sugarAnton Ertl
| |   |     `- Re: Avoiding processor penalty by KISS and no sugardxforth
| |   `- Re: Avoiding processor penalty by KISS and no sugarS Jack
| `* Re: Avoiding processor penalty by KISS and no sugarS Jack
|  +- Re: Avoiding processor penalty by KISS and no sugarS Jack
|  `- Re: Avoiding processor penalty by KISS and no sugarBranimir Maksimovic
`* Re: Avoiding processor penalty by KISS and no sugarBranimir Maksimovic
 `- Re: Avoiding processor penalty by KISS and no sugarS Jack

Pages:12
Re: Avoiding processor penalty by KISS and no sugar

<caf58f8e-0666-4498-9281-f981811f679cn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a37:9c47:: with SMTP id f68mr1587084qke.189.1633439031649;
Tue, 05 Oct 2021 06:03:51 -0700 (PDT)
X-Received: by 2002:ae9:ef02:: with SMTP id d2mr14733413qkg.316.1633439031425;
Tue, 05 Oct 2021 06:03:51 -0700 (PDT)
Path: rocksolid2!news.neodome.net!news.theuse.net!aioe.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Oct 2021 06:03:51 -0700 (PDT)
In-Reply-To: <599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:3f7a:20d0:45c9:8e14:1339:c4e5;
posting-account=V5nGoQoAAAC_P2U0qnxm2kC0s1jNJXJa
NNTP-Posting-Host: 2600:1700:3f7a:20d0:45c9:8e14:1339:c4e5
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com> <irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com> <is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com> <599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <caf58f8e-0666-4498-9281-f981811f679cn@googlegroups.com>
Subject: Re: Avoiding processor penalty by KISS and no sugar
From: sdwjac...@gmail.com (S Jack)
Injection-Date: Tue, 05 Oct 2021 13:03:51 +0000
Content-Type: text/plain; charset="UTF-8"
 by: S Jack - Tue, 5 Oct 2021 13:03 UTC

On Tuesday, October 5, 2021 at 2:53:41 AM UTC-5, minf...@arcor.de wrote:
> S Jack schrieb am Montag, 4. Oktober 2021 um 23:49:21 UTC+2:
> > On Monday, October 4, 2021 at 4:59:06 AM UTC-5, Ulrich Hoffmann wrote:
> Use case here:
> If an exception occurs while loading a library (Forth source) or an overlay
> (binary) all ponters and allotted/allocated memories are automaticall freed
> in the exception handler to avoid garbage accumulation.

I use markers all the time (in the form of ANEW). MARKERS present no problems.
It's use in the compliant example misses the point. It was FORGET that needed
to be dealt with.

l often use FORGET in development to rework a word as oppose to just redefining it.
Feel better having the memory cleared with nothing hidden left over that may come
into play.
--
me

Re: Avoiding processor penalty by KISS and no sugar

<sjj0m9$12sv$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!news.neodome.net!feeder1.feed.usenet.farm!feed.usenet.farm!aioe.org!7AktqsUqy5CCvnKa3S0Dkw.user.46.165.242.75.POSTED!not-for-mail
From: dxfo...@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Avoiding processor penalty by KISS and no sugar
Date: Wed, 6 Oct 2021 13:12:24 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sjj0m9$12sv$1@gioia.aioe.org>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="35743"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Wed, 6 Oct 2021 02:12 UTC

On 5/10/2021 20:42, Branimir Maksimovic wrote:
> On 2021-10-05, minf...@arcor.de <minforth@arcor.de> wrote:
>> S Jack schrieb am Montag, 4. Oktober 2021 um 23:49:21 UTC+2:
>>> On Monday, October 4, 2021 at 4:59:06 AM UTC-5, Ulrich Hoffmann wrote:
>>> > Hi SJack,
>>> MARKER , used in anticipation of deletion, was not my concern. MARKER
>>> deleting all after allotted memory is a tautology. The case in point
>>> was how could FORGET reclaim allotted memory when no deletion was
>>> anticipated and no preparation for deletion, such a dummy word, were
>>> made. Found that FORGET can reclaim memory for word constructed
>>> compound with data and code spaces.
>>
>> Use case here:
>> If an exception occurs while loading a library (Forth source) or an overlay
>> (binary) all ponters and allotted/allocated memories are automaticall freed
>> in the exception handler to avoid garbage accumulation.
>
> So that library is practically useless... Exceptions are most evil ever
> invented:P

Exceptions aren't the problem - rather the belief one should be able to
beat them and the extraordinary lengths taken to that end. Meanwhile
the application suffers as a result of these interventions which nobody
knows for sure will even work.

Re: Avoiding processor penalty by KISS and no sugar

<il87J.64795$6U3.59167@fx43.iad>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!news.neodome.net!news.mixmin.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!193.141.40.65.MISMATCH!npeer.as286.net!npeer-ng0.as286.net!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx43.iad.POSTED!not-for-mail
Newsgroups: comp.lang.forth
From: branimir...@icloud.com (Branimir Maksimovic)
Subject: Re: Avoiding processor penalty by KISS and no sugar
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
User-Agent: slrn/1.0.3 (Darwin)
Lines: 34
Message-ID: <il87J.64795$6U3.59167@fx43.iad>
X-Complaints-To: abuse@usenet-news.net
NNTP-Posting-Date: Wed, 06 Oct 2021 03:02:38 UTC
Organization: usenet-news.net
Date: Wed, 06 Oct 2021 03:02:38 GMT
X-Received-Bytes: 2571
 by: Branimir Maksimovic - Wed, 6 Oct 2021 03:02 UTC

On 2021-10-06, dxforth <dxforth@gmail.com> wrote:
> On 5/10/2021 20:42, Branimir Maksimovic wrote:
>> On 2021-10-05, minf...@arcor.de <minforth@arcor.de> wrote:
>>> S Jack schrieb am Montag, 4. Oktober 2021 um 23:49:21 UTC+2:
>>>> On Monday, October 4, 2021 at 4:59:06 AM UTC-5, Ulrich Hoffmann wrote:
>>>> > Hi SJack,
>>>> MARKER , used in anticipation of deletion, was not my concern. MARKER
>>>> deleting all after allotted memory is a tautology. The case in point
>>>> was how could FORGET reclaim allotted memory when no deletion was
>>>> anticipated and no preparation for deletion, such a dummy word, were
>>>> made. Found that FORGET can reclaim memory for word constructed
>>>> compound with data and code spaces.
>>>
>>> Use case here:
>>> If an exception occurs while loading a library (Forth source) or an overlay
>>> (binary) all ponters and allotted/allocated memories are automaticall freed
>>> in the exception handler to avoid garbage accumulation.
>>
>> So that library is practically useless... Exceptions are most evil ever
>> invented:P
>
> Exceptions aren't the problem - rather the belief one should be able to
> beat them and the extraordinary lengths taken to that end. Meanwhile
> the application suffers as a result of these interventions which nobody
> knows for sure will even work.
Well, in 1999 I gave up on C++ exceptions, too much unreliable...
discriminated unions are future :P

--

7-77-777
Evil Sinner!
to weak you should be meek, and you should brainfuck stronger
https://github.com/rofl0r/chaos-pp

Re: Avoiding processor penalty by KISS and no sugar

<87a6jmoan2.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Avoiding processor penalty by KISS and no sugar
Date: Wed, 06 Oct 2021 00:49:53 -0700
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <87a6jmoan2.fsf@nightsong.com>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="0b79f491aa3b83cc099fa3b6331cb50b";
logging-data="29922"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19BorH7/yGEXf7UT32NBbaP"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Cancel-Lock: sha1:KqrepylfM8+hFbwhyn6lB6v79rY=
sha1:MjWtD36kV59bmA31eyZGD0lzulE=
 by: Paul Rubin - Wed, 6 Oct 2021 07:49 UTC

dxforth <dxforth@gmail.com> writes:
> Exceptions aren't the problem - rather the belief one should be able
> to beat them and the extraordinary lengths taken to that end.

What does it mean to beat an exception?

Regarding discriminated unions (Branimir Maksimovic), see this:

http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0709r0.pdf

Re: Avoiding processor penalty by KISS and no sugar

<sjjvho$bss$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!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: Avoiding processor penalty by KISS and no sugar
Date: Wed, 6 Oct 2021 21:59:03 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sjjvho$bss$1@gioia.aioe.org>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="12188"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Wed, 6 Oct 2021 10:59 UTC

On 6/10/2021 18:49, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> Exceptions aren't the problem - rather the belief one should be able
>> to beat them and the extraordinary lengths taken to that end.
>
> What does it mean to beat an exception?

Take FORGET|MARKER|EMPTY. Today it represents a level of exception
handling one would balk at duplicating were it an application. In
Forth we've decided no amount of expense is too much.

Re: Avoiding processor penalty by KISS and no sugar

<87lf362g8u.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!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: Avoiding processor penalty by KISS and no sugar
Date: Wed, 06 Oct 2021 10:52:01 -0700
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <87lf362g8u.fsf@nightsong.com>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="0b79f491aa3b83cc099fa3b6331cb50b";
logging-data="11599"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+B/PXRY7AXmBNlaSwVO4K3"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Cancel-Lock: sha1:7V++TK10GHRdP7X08siVMRmSNOc=
sha1:3+omyRcCQnjRjVZBV48QWhMFXVk=
 by: Paul Rubin - Wed, 6 Oct 2021 17:52 UTC

dxforth <dxforth@gmail.com> writes:
>> What does it mean to beat an exception?
> Take FORGET|MARKER|EMPTY. Today it represents a level of exception
> handling one would balk at duplicating were it an application. In
> Forth we've decided no amount of expense is too much.

I still don't see what you're getting at. I hadn't thought of FORGET
and MARKER as being related to exceptions. They just reset HERE, I
thought. I don't know what EMPTY does and can't find it in the Forth
docs I've looked at, but it sounds similar. Exceptions involve
remembering handlers on the control stack and (when an exception is
thrown) unwinding back to where the handler is found.

Re: Avoiding processor penalty by KISS and no sugar

<sjljep$10j5$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!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: Avoiding processor penalty by KISS and no sugar
Date: Thu, 7 Oct 2021 12:44:57 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sjljep$10j5$1@gioia.aioe.org>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org>
<87lf362g8u.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="33381"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Thu, 7 Oct 2021 01:44 UTC

On 7/10/2021 04:52, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>>> What does it mean to beat an exception?
>> Take FORGET|MARKER|EMPTY. Today it represents a level of exception
>> handling one would balk at duplicating were it an application. In
>> Forth we've decided no amount of expense is too much.
>
> I still don't see what you're getting at. I hadn't thought of FORGET
> and MARKER as being related to exceptions. They just reset HERE, I
> thought. I don't know what EMPTY does and can't find it in the Forth
> docs I've looked at, but it sounds similar. Exceptions involve
> remembering handlers on the control stack and (when an exception is
> thrown) unwinding back to where the handler is found.
>

A compile error is an exception. The 'handler' that resets HERE in a
modern forth is a non-trivial process involving unwinding the dictionary
word by word and restoring anything that may otherwise affect the system
e.g. altered DEFERed words. EMPTY does the same removing all user
additions to the dictionary.

Point being while this is all very clever it's hard to justify when one
can simply reboot the compiler - as one does for other languages.
Similar argument can be made for applications. At what point is recovery
not worth the effort.

Re: Avoiding processor penalty by KISS and no sugar

<877dep2zyp.fsf@nightsong.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.forth
Subject: Re: Avoiding processor penalty by KISS and no sugar
Date: Wed, 06 Oct 2021 21:58:22 -0700
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <877dep2zyp.fsf@nightsong.com>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org>
<87lf362g8u.fsf@nightsong.com> <sjljep$10j5$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="4f053efdb493f01c2c50548df7089435";
logging-data="3708"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/JJiaM2rW1Ywy/k/tW42na"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Cancel-Lock: sha1:vUcvxKPjcsB/Dao9JoVQ+wIwlco=
sha1:AFjw/lI75952ZkfVNiwFx1XwOaI=
 by: Paul Rubin - Thu, 7 Oct 2021 04:58 UTC

dxforth <dxforth@gmail.com> writes:
> A compile error is an exception. The 'handler' that resets HERE in a
> modern forth is a non-trivial process involving unwinding the dictionary
> word by word and restoring anything that may otherwise affect the system
> e.g. altered DEFERed words.

Yucch, is that implemented through exception handlers and compile
errors? I had no idea. I thought FORGET or a MARKER xt simply reset
HERE, and if that broke stuff like DEFERred words, then too bad.
Similarly, there could have been VARIABLEs containing pointers or xt's
into the now-clobbered dictionary, etc. If it's as messy as you
describe instead, it doesn't seem worth it.

> Point being while this is all very clever it's hard to justify when
> one can simply reboot the compiler - as one does for other languages.

Of course you lose any state you've built up in the session before
rebooting the compiler. I think nowadays, that's not too big a problem,
since you can edit on a system with isolated processes so your editing
window stays around while you restart Forth. I've sometimes wondered
how people did it in the old days.

Re: Avoiding processor penalty by KISS and no sugar

<2021Oct7.091730@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!news.neodome.net!news.mixmin.net!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: Avoiding processor penalty by KISS and no sugar
Date: Thu, 07 Oct 2021 07:17:30 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 31
Message-ID: <2021Oct7.091730@mips.complang.tuwien.ac.at>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com> <irqa3gF4gc8U1@mid.individual.net> <16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com> <is01j7F7hjnU1@mid.individual.net> <85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com> <599ae14f-562b-4262-accd-9592a190215an@googlegroups.com> <_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org> <87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org> <87lf362g8u.fsf@nightsong.com>
Injection-Info: reader02.eternal-september.org; posting-host="aa157d3a970bd3e64c2f65957f8e8801";
logging-data="15878"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IeENDIhWPHVAtz/qGAa2B"
Cancel-Lock: sha1:jEM1kFXq66bswcG4R60eKPqpi5s=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Thu, 7 Oct 2021 07:17 UTC

Paul Rubin <no.email@nospam.invalid> writes:
>dxforth <dxforth@gmail.com> writes:
>>> What does it mean to beat an exception?
>> Take FORGET|MARKER|EMPTY. Today it represents a level of exception
>> handling one would balk at duplicating were it an application. In
>> Forth we've decided no amount of expense is too much.
>
>I still don't see what you're getting at. I hadn't thought of FORGET
>and MARKER as being related to exceptions.

They are not. That's why they are not in the EXCEPTION wordset and do
not depend on it. Forth systems have had FORGET long before the
exception wordset arrived, and conversely, no word of the exception
wordset performs any functionality that FORGET (or MARKER) perform.
They just have nothing to do with each other.

Sometimes I get the impression that dxforth just replies to anything,
and if he has nothing substantive to write (the usual case), he just
writes something which makes little to no sense, like "Exceptions
aren't the problem - rather the belief one should be able to beat them
and the extraordinary lengths taken to that end." or "In Forth we've
decided no amount of expense is too much."; basically what Eliza does
when it does not find any word in the user's text that it can hook
onto. Your responses show that this strategy still works:-).

- 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: Avoiding processor penalty by KISS and no sugar

<sjmhki$345$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!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: Avoiding processor penalty by KISS and no sugar
Date: Thu, 7 Oct 2021 21:20:01 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sjmhki$345$1@gioia.aioe.org>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<f9ef8022-6fbd-4548-86b7-27d63b688718n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org>
<87lf362g8u.fsf@nightsong.com> <sjljep$10j5$1@gioia.aioe.org>
<877dep2zyp.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="3205"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: dxforth - Thu, 7 Oct 2021 10:20 UTC

On 7/10/2021 15:58, Paul Rubin wrote:
> dxforth <dxforth@gmail.com> writes:
>> A compile error is an exception. The 'handler' that resets HERE in a
>> modern forth is a non-trivial process involving unwinding the dictionary
>> word by word and restoring anything that may otherwise affect the system
>> e.g. altered DEFERed words.
>
> Yucch, is that implemented through exception handlers and compile
> errors? I had no idea.

By 'exception handler' you mean automatic response to an exception?
I don't see that's necessary for the words being discussed since
one can put EMPTY as the first word in an application and it executes
when the source is loaded.

> I thought FORGET or a MARKER xt simply reset
> HERE, and if that broke stuff like DEFERred words, then too bad.
> Similarly, there could have been VARIABLEs containing pointers or xt's
> into the now-clobbered dictionary, etc. If it's as messy as you
> describe instead, it doesn't seem worth it.

Standard MARKER guarantees very little. ANS would have been aware a
practical implementation would need mechanisms for restoring DEFERs
etc but elected not to specify them.

>
>> Point being while this is all very clever it's hard to justify when
>> one can simply reboot the compiler - as one does for other languages.
>
> Of course you lose any state you've built up in the session before
> rebooting the compiler. I think nowadays, that's not too big a problem,
> since you can edit on a system with isolated processes so your editing
> window stays around while you restart Forth. I've sometimes wondered
> how people did it in the old days.

FORGET was a convenience from the days when the editor was resident
and remained in standards in one form or another.

Re: Avoiding processor penalty by KISS and no sugar

<sjmusg$gv4$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!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: Avoiding processor penalty by KISS and no sugar
Date: Fri, 8 Oct 2021 01:06:07 +1100
Organization: Aioe.org NNTP Server
Message-ID: <sjmusg$gv4$1@gioia.aioe.org>
References: <87464ea5-5426-4024-a5b9-5a816cdf5dd9n@googlegroups.com>
<irqa3gF4gc8U1@mid.individual.net>
<16d947c0-af7c-4c0e-a499-cc626f7abcdcn@googlegroups.com>
<is01j7F7hjnU1@mid.individual.net>
<85c12a88-ce5e-4d19-9040-5086db070b8an@googlegroups.com>
<599ae14f-562b-4262-accd-9592a190215an@googlegroups.com>
<_5V6J.42476$tA2.24416@fx02.iad> <sjj0m9$12sv$1@gioia.aioe.org>
<87a6jmoan2.fsf@nightsong.com> <sjjvho$bss$1@gioia.aioe.org>
<87lf362g8u.fsf@nightsong.com> <2021Oct7.091730@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="17380"; posting-host="7AktqsUqy5CCvnKa3S0Dkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: dxforth - Thu, 7 Oct 2021 14:06 UTC

On 7/10/2021 18:17, Anton Ertl wrote:
> Paul Rubin <no.email@nospam.invalid> writes:
>>dxforth <dxforth@gmail.com> writes:
>>>> What does it mean to beat an exception?
>>> Take FORGET|MARKER|EMPTY. Today it represents a level of exception
>>> handling one would balk at duplicating were it an application. In
>>> Forth we've decided no amount of expense is too much.
>>
>>I still don't see what you're getting at. I hadn't thought of FORGET
>>and MARKER as being related to exceptions.
>
> They are not. That's why they are not in the EXCEPTION wordset and do
> not depend on it. Forth systems have had FORGET long before the
> exception wordset arrived, and conversely, no word of the exception
> wordset performs any functionality that FORGET (or MARKER) perform.
> They just have nothing to do with each other.
>
> Sometimes I get the impression that dxforth just replies to anything,
> and if he has nothing substantive to write (the usual case), he just
> writes something which makes little to no sense, like "Exceptions
> aren't the problem - rather the belief one should be able to beat them
> and the extraordinary lengths taken to that end." or "In Forth we've
> decided no amount of expense is too much."; basically what Eliza does
> when it does not find any word in the user's text that it can hook
> onto. Your responses show that this strategy still works:-).

A strange statement considering your CMOVE fast block propagate all but
fits the description - a long-winded solution to a problem nobody had.
Never mind it would be easier to implement and use outside CMOVE were
someone to request such a thing.


devel / comp.lang.forth / Re: Avoiding processor penalty by KISS and no sugar

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor