Liste des Groupes | Revenir à cl forth |
In article <1043831$3ggg9$1@dont-email.me>,The standard does not prohibit a system from supporting nested definitions in whichever way that does not violate the standard behavior.
Ruvim <ruvim.pinka@gmail.com> wrote:On 2025-07-02 15:37, albert@spenarnc.xs4all.nl wrote:If this bothers you, rename it in [[ ]].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, ] ;
Once we enhance [ ] to do things prohibited by the standard,
(adding nested definitions) I can't be bothered with this too much.
Les messages affichés proviennent d'usenet.