home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 117,376 of 117,927   
   minforth to All   
   Re: Nested definitions   
   02 Jul 25 11:02:13   
   
   From: minforth@gmx.net   
      
   Am 02.07.2025 um 10:53 schrieb Ruvim:   
   > 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.   
   Are you sure? gforth test:   
      
   : APP 1 [ : func 2 ; ] func ;  ok   
   app   
   *the terminal*:2:1: error: Invalid memory address   
    >>>app<<<   
   Backtrace:   
   kernel/int.fs:594:10                     0 $6FFFFF7FDE28 int-execute   
      
   MinForth 3.6 test:   
      
   # : APP 1 <: func 2 ;> func ;  ok   
   # app  ok   
   1 2 #   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca