Re: Nested definitions

Liste des GroupesRevenir à cl forth 
Sujet : Re: Nested definitions
De : peter.noreply (at) *nospam* tin.it (peter)
Groupes : comp.lang.forth
Date : 03. Jul 2025, 18:42:02
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20250703194202.0000508f@tin.it>
References : 1 2 3 4 5 6
User-Agent : Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32)
On Thu, 3 Jul 2025 20:47:07 +0400
Ruvim <ruvim.pinka@gmail.com> wrote:

On 2025-07-03 17:11, albert@spenarnc.xs4all.nl wrote:
In article <1043831$3ggg9$1@dont-email.me>,
Ruvim  <ruvim.pinka@gmail.com> wrote:
On 2025-07-02 15:37, albert@spenarnc.xs4all.nl wrote:
In article <1042s2o$3d58h$1@dont-email.me>,
Ruvim  <ruvim.pinka@gmail.com> wrote:
On 2025-06-24 01:03, minforth wrote:
[...]
>
For me, the small syntax extension is a convenience when working
with longer definitions. A bit contrived (:= synonym for TO):
>
: SOME-APP { a f: b c | temp == n: flag z: freq }
\ inputs: integer a, floats b c
\ uninitialized: float temp
\ outputs: integer flag, complex freq
    <: FUNC < ... calc function ... > ;>
>
BTW, why do you prefer the special syntax `<: ... ;>`
over an extension to the existing words `:` and `;`
>
    : SOME-APP
       [ : FUNC < ... calc function ... > ; ]
       < ... >
    ;
>
In this approach the word `:` knows that it's a nested
definition and behaves accordingly.
>
Or it has not even know it, if [ is smart enough to compile a
jump to after ].
>
This can be tricky because the following should work:
>
   create foo [ 123 , ] [ 456 ,
>
   : bar  [ ' foo compile, 123 lit, ] ;
 
If this bothers you, rename it in [[ ]].
 
Once we enhance [ ] to do things prohibited by the standard,
(adding nested definitions) I can't be bothered with this too much.
 
 
The standard does not prohibit a system from supporting nested
definitions in whichever way that does not violate the standard
behavior.
 
 
Yes, something like "private[ ... ]private" is a possible approach,
and its implementation seems simpler than adding the smarts to `:`
and `;` (and other defining words, if any).
 
The advantage of this approach over "<: ... ;>" is that you can
define not only colon-definitions, but also constants, variables,
immediate words, one-time macros, etc.
 
 
   : foo ( F: r.coefficient -- r.result )
     private[
       variable cnt
       0e fvalue k
       : [x] ... ; immediate
     ]private
     to k   0 cnt !
     ...
   ;
 
It's also possible to associated the word list of private words with
the containing word xt for debugging purposes.
 
 
--
Ruvim
 

In lxf I have module, private, public, end-module
your example would be

module
private

variable cnt
0e fvalue k
: [x] ... ; immediate

public

: foo ( F: r.coefficient -- r.result )
     to k   0 cnt !
     ...
;

end-module

end-module will remove all headers from the private words in the module
I am not found of mixing definitions inside others.

BR
Peter
 


Date Sujet#  Auteur
6 Oct 24 * Parsing timestamps?282dxf
6 Oct 24 +* Re: Parsing timestamps?245mhx
6 Oct 24 i+* Re: Parsing timestamps?3dxf
6 Oct 24 ii`* Re: Parsing timestamps?2dxf
7 Oct 24 ii `- Re: Parsing timestamps?1dxf
7 Jun 25 i`* Re: Parsing timestamps?241B. Pym
7 Jun 25 i +* Re: Parsing timestamps?225dxf
7 Jun 25 i i`* Re: Parsing timestamps?224LIT
8 Jun 25 i i `* Re: Parsing timestamps?223dxf
9 Jun 25 i i  `* Re: Parsing timestamps?222Hans Bezemer
9 Jun 25 i i   `* Re: Parsing timestamps?221LIT
9 Jun 25 i i    `* Re: Parsing timestamps?220Hans Bezemer
9 Jun 25 i i     `* Re: Parsing timestamps?219LIT
10 Jun 25 i i      +* Re: Parsing timestamps?207dxf
10 Jun 25 i i      i+* Re: Parsing timestamps?2mhx
10 Jun 25 i i      ii`- Re: Parsing timestamps?1dxf
10 Jun 25 i i      i+- Re: Parsing timestamps?1LIT
19 Jun 25 i i      i`* Re: Parsing timestamps?203LIT
20 Jun 25 i i      i `* Re: Parsing timestamps?202dxf
20 Jun 25 i i      i  +* Re: Parsing timestamps?7minforth
20 Jun 25 i i      i  i+* Re: Parsing timestamps?2mhx
20 Jun 25 i i      i  ii`- Re: Parsing timestamps?1albert
20 Jun 25 i i      i  i`* Re: Parsing timestamps?4dxf
20 Jun 25 i i      i  i +- Re: Parsing timestamps?1mhx
20 Jun 25 i i      i  i `* Re: Parsing timestamps?2minforth
21 Jun 25 i i      i  i  `- Re: Parsing timestamps?1dxf
20 Jun 25 i i      i  `* Re: Parsing timestamps?194LIT
21 Jun 25 i i      i   +- Re: Parsing timestamps?1dxf
22 Jun 25 i i      i   +* Re: Parsing timestamps?187minforth
23 Jun 25 i i      i   i+- Re: Parsing timestamps?1dxf
23 Jun 25 i i      i   i+* Re: Parsing timestamps?181Anton Ertl
23 Jun 25 i i      i   ii`* Re: Parsing timestamps?180minforth
24 Jun 25 i i      i   ii +* Re: Parsing timestamps?162minforth
24 Jun 25 i i      i   ii i`* Re: Parsing timestamps?161dxf
24 Jun 25 i i      i   ii i +* Re: Parsing timestamps?13minforth
24 Jun 25 i i      i   ii i i+* Re: Parsing timestamps?2Anton Ertl
1 Jul 25 i i      i   ii i ii`- Re: Parsing timestamps?1Stephen Pelc
26 Jun 25 i i      i   ii i i+* Re: The future. (was Re: Parsing timestamps?)2Paul Rubin
30 Jun 25 i i      i   ii i ii`- Re: The future. (was Re: Parsing timestamps?)1albert
15 Jul 25 i i      i   ii i i`* Re: The future. (was Re: Parsing timestamps?)8LIT
16 Jul 25 i i      i   ii i i `* Re: The future. (was Re: Parsing timestamps?)7minforth
16 Jul 25 i i      i   ii i i  +* Re: The future. (was Re: Parsing timestamps?)5dxf
16 Jul 25 i i      i   ii i i  i+- Re: The future. (was Re: Parsing timestamps?)1minforth
16 Jul 25 i i      i   ii i i  i`* Re: The future. (was Re: Parsing timestamps?)3LIT
17 Jul 25 i i      i   ii i i  i `* Re: The future. (was Re: Parsing timestamps?)2dxf
17 Jul 25 i i      i   ii i i  i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
16 Jul 25 i i      i   ii i i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?12dxf
25 Jun 25 i i      i   ii i i`* Re: Parsing timestamps?11Paul Rubin
26 Jun 25 i i      i   ii i i +- Re: Parsing timestamps?1Paul Rubin
26 Jun 25 i i      i   ii i i `* Re: Parsing timestamps?9dxf
26 Jun 25 i i      i   ii i i  `* Re: Parsing timestamps?8Paul Rubin
27 Jun 25 i i      i   ii i i   `* Re: Parsing timestamps?7dxf
27 Jun 25 i i      i   ii i i    +- Re: Parsing timestamps?1Paul Rubin
2 Jul 25 i i      i   ii i i    `* Re: Parsing timestamps?5dxf
2 Jul 25 i i      i   ii i i     +* Re: Parsing timestamps?2Stephen Pelc
4 Jul 25 i i      i   ii i i     i`- Re: Parsing timestamps?1dxf
6 Jul 25 i i      i   ii i i     `* Re: Parsing timestamps?2LIT
6 Jul 25 i i      i   ii i i      `- Re: Parsing timestamps?1dxf
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?2Paul Rubin
30 Jun 25 i i      i   ii i i`- Re: Parsing timestamps?1Hans Bezemer
26 Jun 25 i i      i   ii i `* Re: Parsing timestamps?133Waldek Hebisch
26 Jun 25 i i      i   ii i  `* Re: Parsing timestamps?132minforth
26 Jun 25 i i      i   ii i   +* Re: Parsing timestamps?2LIT
27 Jun 25 i i      i   ii i   i`- Re: Parsing timestamps?1minforth
29 Jun 25 i i      i   ii i   `* Re: Parsing timestamps?129Anton Ertl
29 Jun 25 i i      i   ii i    `* Re: Parsing timestamps?128LIT
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?123LIT
30 Jun 25 i i      i   ii i     i`* Re: Parsing timestamps?122dxf
30 Jun 25 i i      i   ii i     i `* Re: Parsing timestamps?121LIT
30 Jun 25 i i      i   ii i     i  +* Re: Parsing timestamps?116dxf
30 Jun 25 i i      i   ii i     i  i`* Re: Parsing timestamps?115LIT
30 Jun 25 i i      i   ii i     i  i `* Re: Parsing timestamps?114dxf
30 Jun 25 i i      i   ii i     i  i  +* Re: Parsing timestamps?2LIT
1 Jul 25 i i      i   ii i     i  i  i`- Re: Parsing timestamps?1dxf
30 Jun 25 i i      i   ii i     i  i  `* Re: Parsing timestamps?111Paul Rubin
30 Jun 25 i i      i   ii i     i  i   +* Re: Parsing timestamps?3LIT
2 Jul 25 i i      i   ii i     i  i   i+- Re: Parsing timestamps?1LIT
2 Jul 25 i i      i   ii i     i  i   i`- Re: Parsing timestamps?1Paul Rubin
1 Jul 25 i i      i   ii i     i  i   `* Re: Parsing timestamps?107Paul Rubin
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?18minforth
1 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?17Paul Rubin
2 Jul 25 i i      i   ii i     i  i    i +* Re: Parsing timestamps?4minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1dxf
2 Jul 25 i i      i   ii i     i  i    i i`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i `* Re: Parsing timestamps?12Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?8Paul Rubin
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?2minforth
3 Jul 25 i i      i   ii i     i  i    i  ii`- Re: Parsing timestamps?1albert
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?3Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  ii`* Re: Parsing timestamps?2albert
5 Jul 25 i i      i   ii i     i  i    i  ii `- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  i+- Re: Parsing timestamps?1albert
4 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?2Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  `- Re: Parsing timestamps?1dxf
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?5peter
2 Jul 25 i i      i   ii i     i  i    i+* Re: Parsing timestamps?2minforth
2 Jul 25 i i      i   ii i     i  i    ii`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?2Paul Rubin
2 Jul 25 i i      i   ii i     i  i    `* Re: Parsing timestamps?83Anton Ertl
30 Jun 25 i i      i   ii i     i  `* Re: Parsing timestamps?4Paul Rubin
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?3Paul Rubin
30 Jun 25 i i      i   ii i     `- Re: Parsing timestamps?1sean
24 Jun 25 i i      i   ii +- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii `* Nested definitions (was: Parsing timestamps?)16Ruvim
23 Jun 25 i i      i   i`* Re: Parsing timestamps?4mhx
23 Jun 25 i i      i   `* Re: Parsing timestamps?5LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2Stephen Pelc
10 Jun 25 i i      +* Re: Parsing timestamps?4LIT
10 Jun 25 i i      `- Re: Parsing timestamps?1Hans Bezemer
9 Jun 25 i +- Re: Parsing timestamps?1B. Pym
10 Jun 25 i `* Re: Parsing timestamps?14B. Pym
6 Oct 24 +* Re: Parsing timestamps?5Ruvim
6 Oct 24 +* Re: Parsing timestamps?6FFmike
6 Oct 24 +* Re: Parsing timestamps?2Anthony Howe
7 Oct 24 +* Re: Parsing timestamps?9albert
8 Oct 24 +* Re: Parsing timestamps?3albert
9 Oct 24 +* Re: Parsing timestamps?4alaa
18 Oct 24 `* Re: Parsing timestamps?7Gerry Jackson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal