Re: single-xt approach in the standard

Liste des GroupesRevenir à cl forth 
Sujet : Re: single-xt approach in the standard
De : ruvim.pinka (at) *nospam* gmail.com (Ruvim)
Groupes : comp.lang.forth
Date : 23. Sep 2024, 11:16:45
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vcrf6e$25spg$11@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla Thunderbird
On 2024-09-23 12:36, albert@spenarnc.xs4all.nl wrote:
In article <vcq1e5$25spg$7@dont-email.me>,
Ruvim  <ruvim.pinka@gmail.com> wrote:
On 2024-09-22 13:53, albert@spenarnc.xs4all.nl wrote:
In article <vcbuog$3etuk$3@dont-email.me>,
Ruvim  <ruvim.pinka@gmail.com> wrote:
On 2024-09-17 16:15, mhx wrote:
On Tue, 17 Sep 2024 10:54:37 +0000, Ruvim wrote:
>
Do you think that the Forth standard should recognize the classic
single-xt approach as possible for implementing a standard Forth system?
>
The classic single-xt approach implies that only one execution token
(xt) is associated with a name token (nt), and only one name token is
associated with a word (a named Forth definition). And words whose
compilation semantics differ form default compilation semantics are
implemented as immediate words.
>
[...]
>
The single-xt approach was used in Forth systems long before Forth-94.
Should this approach be possible for a standard system?
>
There is a point of view (which I don't share) that it is impossible to
implement the standard word `s"` (from the File word set) in a standard
*program*. I.e., that the following definition for `s"` is not standard
compliant:
The double negation makes it hard to understand.
Yes. Sometimes it's hard to express yourself clearly right away ))

You are of the opinion that it is possible to implement s" in a standard program.
You mean that the following code is standard compliant.
Yes. And my opinion is even stronger: this definition for `s"` both standard compliant and implements `s"` specified in the section 11.6.1.2165 of Forth-2012.
I also wanted to say that there is an opinion that this definition does not implement `s"` specified in 11.6.1.2165. An interesting question for those who share this opinion: how can 11.6.1.2165 be changed (if at all) to allow this implementation?  Maybe I have asked this before, but I can't find any answers at the moment.

You throw in the heap (ALLOCATE), that requires a powerful system, okay.
If you require SLITERAL ALLOCATE TUCK (that are not present e.g. in the
ciforth kernel) what is the probability that S" still has to be defined?
This does not matter. For example, if a program needs more than two buffers for `s"` interpretation, it might test and redefine `s"`.

(In ciforth it is already defined).
>
    : s" ( "ccc" -- sd | )
      [char] " parse
      state @ if postpone sliteral exit then
      dup >r allocate throw tuck r@ move r>
    ; immediate
>
/*****************************************************************************/
/*  This is not true.                                                        */
/*****************************************************************************/
>
I have demonstrated that it is possible to make numbers state smart
(the excursion to S" serves only to muddy the waters) where
the definition of number or S" doesn't contain a reference to STATE.
>
>
It seems, you have misunderstood what I said. I have said "in a standard
*program*", not "in a standard system".
 I misunderstood it. In fact the longer I look, the less I understand.
Of course a number of standard words cannot be portably implemented.
That is a remark I have made myself.
Agreed.

In this case you say that in
a Forth where an arbitrary set of difficult words are implemented
it is possible to define S" portably in terms of standard words.
So true.
Yes.

 If I add the condition that STATE is only used in INTERPRET,
that is cheating, and largely irrelevant.
 
>
This is important for standard libraries that may need to define or
redefine some standard words. Here by standard library I mean a standard
program that, when loaded, does not make the standard system non-standard.
 Agreed. However standard libraries are not useful in the context of
gforth where every imaginable word in the standard is present,
unless for the purpose of exactly defining meaning.
I mean, a possibility to define and redefine standard words is important for standard programs for which a Standard System must exist after the program is loaded.

>
See also "4.2.2 Other program documentation", that says:
| A program shall also document:
|  - whether a Standard System exists after the program is loaded.

I remember Algol68 went that route. Most features are explained
in Algol68 itself, with the remark that the implementer should
think of more clever ways to do it. Is this similar?
Maybe, but not quite :)

Even in some classic single-xt systems, one xt can be associated with
many nt. (of course, what is now "nt" was known as "NFA").
>
I cringe on this formulation.
>
This is what the standard says. Namely, the section "3.1.3.5 Execution
tokens" says: "Different definitions may have the same execution token
if the definitions are equivalent".
>
For example:
>
   1 constant a
   1 constant b
   ' a ' b = .
>
It is possible for a standard system to print "-1" when interpreting
this program.
 I have a hard time with this. I can't argue with the standard however.
"I cringe that this is in the standard."
Why?   This only adds some freedom to systems and imposes some light restrictions on programs (when xt-s of user-defined words are used as identifiers for some other things).
--
Ruvim

Date Sujet#  Auteur
17 Sep 24 * single-xt approach in the standard78Ruvim
17 Sep 24 +* Re: single-xt approach in the standard15minforth
17 Sep 24 i`* Re: single-xt approach in the standard14Ruvim
17 Sep 24 i `* Re: single-xt approach in the standard13Anthony Howe
18 Sep 24 i  +* Re: single-xt approach in the standard7dxf
18 Sep 24 i  i`* Standardization process (was: single-xt approach in the standard)6Ruvim
18 Sep 24 i  i `* Re: Standardization process5dxf
18 Sep 24 i  i  +* Re: Standardization process3Ruvim
18 Sep 24 i  i  i`* Re: Standardization process2dxf
18 Sep 24 i  i  i `- Re: Standardization process1Ruvim
18 Sep 24 i  i  `- Re: Standardization process1Ruvim
18 Sep 24 i  `* Re: single-xt approach in the standard5Ruvim
18 Sep 24 i   `* Re: single-xt approach in the standard4Gerry Jackson
19 Sep 24 i    +- Re: single-xt approach in the standard1albert
19 Sep 24 i    `* Standard testsuite (was: single-xt approach in the standard)2Ruvim
19 Sep 24 i     `- Re: Standard testsuite (was: single-xt approach in the standard)1albert
17 Sep 24 +* Re: single-xt approach in the standard46mhx
17 Sep 24 i+* Re: single-xt approach in the standard44Ruvim
17 Sep 24 ii+* Re: single-xt approach in the standard2minforth
17 Sep 24 iii`- Re: single-xt approach in the standard1Ruvim
21 Sep 24 ii+* Re: single-xt approach in the standard28dxf
21 Sep 24 iii`* Re: single-xt approach in the standard27Ruvim
22 Sep 24 iii `* Re: single-xt approach in the standard26dxf
22 Sep 24 iii  +* Re: single-xt approach in the standard6Anton Ertl
22 Sep 24 iii  i+- Re: single-xt approach in the standard1albert
23 Sep 24 iii  i`* Re: single-xt approach in the standard4dxf
23 Sep 24 iii  i `* Re: single-xt approach in the standard3Anthony Howe
24 Sep 24 iii  i  +- Re: single-xt approach in the standard1dxf
25 Sep 24 iii  i  `- Re: single-xt approach in the standard1dxf
22 Sep 24 iii  `* Re: single-xt approach in the standard19Ruvim
22 Sep 24 iii   +* Re: single-xt approach in the standard5Anton Ertl
22 Sep 24 iii   i`* Semantics as observable behavior (was: single-xt approach in the standard)4Ruvim
22 Sep 24 iii   i `* Re: Semantics as observable behavior (was: single-xt approach in the standard)3Anton Ertl
22 Sep 24 iii   i  `* Re: Semantics as observable behavior2Ruvim
23 Sep 24 iii   i   `- Re: Semantics as observable behavior1Ruvim
22 Sep 24 iii   +* Re: single-xt approach in the standard4albert
22 Sep 24 iii   i`* Re: single-xt approach in the standard3Ruvim
23 Sep 24 iii   i `* Re: single-xt approach in the standard2albert
23 Sep 24 iii   i  `- Re: single-xt approach in the standard1minforth
23 Sep 24 iii   `* Re: single-xt approach in the standard9dxf
23 Sep 24 iii    `* Standard compliance for systems (was: single-xt approach in the standard)8Ruvim
22 Nov 24 iii     `* Re: Standard compliance for systems7dxf
22 Nov 24 iii      `* Re: Standard compliance for systems6minforth
22 Nov 24 iii       +* Re: Standard compliance for systems3mhx
22 Nov 24 iii       i`* Re: Standard compliance for systems2minforth
22 Nov 24 iii       i `- Re: Standard compliance for systems1mhx
23 Nov 24 iii       `* Re: Standard compliance for systems2dxf
24 Nov 24 iii        `- Re: Standard compliance for systems1dxf
21 Sep 24 ii+* Re: single-xt approach in the standard4Stephen Pelc
21 Sep 24 iii`* Re: single-xt approach in the standard3Ruvim
22 Sep 24 iii `* Re: single-xt approach in the standard2Stephen Pelc
22 Sep 24 iii  `- Re: single-xt approach in the standard1Anton Ertl
22 Sep 24 ii`* Re: single-xt approach in the standard9albert
22 Sep 24 ii `* Re: single-xt approach in the standard8Ruvim
23 Sep 24 ii  `* Re: single-xt approach in the standard7albert
23 Sep 24 ii   +* Re: single-xt approach in the standard3mhx
23 Sep 24 ii   i`* Re: single-xt approach in the standard2Anton Ertl
23 Sep 24 ii   i `- Re: single-xt approach in the standard1mhx
23 Sep 24 ii   `* Re: single-xt approach in the standard3Ruvim
23 Sep 24 ii    `* Re: single-xt approach in the standard2Anton Ertl
25 Sep 24 ii     `- Re: single-xt approach in the standard1Ruvim
17 Sep 24 i`- Re: single-xt approach in the standard1albert
17 Sep 24 +* Re: single-xt approach in the standard11Anthony Howe
17 Sep 24 i+* Re: single-xt approach in the standard2Anton Ertl
24 Sep 24 ii`- Re: single-xt approach in the standard1Anthony Howe
18 Sep 24 i+* Re: single-xt approach in the standard4Stephen Pelc
18 Sep 24 ii`* Re: single-xt approach in the standard3Ruvim
18 Sep 24 ii `* Re: single-xt approach in the standard2mhx
19 Sep 24 ii  `- Re: single-xt approach in the standard1Ruvim
18 Sep 24 i`* Re: single-xt approach in the standard4Ruvim
18 Sep 24 i +- Re: single-xt approach in the standard1Ruvim
18 Sep 24 i `* Re: single-xt approach in the standard2Hans Bezemer
19 Sep 24 i  `- Re: single-xt approach in the standard1albert
17 Sep 24 +- Re: single-xt approach in the standard1Anton Ertl
18 Sep 24 +- Re: single-xt approach in the standard1Ruvim
21 Sep 24 `* Re: single-xt approach in the standard3PMF
22 Sep 24  +- Re: single-xt approach in the standard1Anton Ertl
22 Sep 24  `- Re: single-xt approach in the standard1Ruvim

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal