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,043 of 117,927   
   dxf to Ruvim   
   Re: Back & Forth - Co-routines   
   02 Feb 25 16:03:25   
   
   From: dxforth@gmail.com   
      
   On 1/02/2025 10:19 pm, Ruvim wrote:   
   > On 2025-01-31 11:33, dxf wrote:   
   >>   
   >> Not sure if previously mentioned but here's another version of LOCAL   
   >>   
   >> : ;:  >r ;   
   >>   
   >> : LOCAL ( x adr -- )   
   >>    r> -rot dup @ over 2>r ! ;: 2r> ! ;   
   >>   
   >> variable A  variable B  8 a !  7 b !   
   >>   
   >> : divide ( a b -- )  b local  a local   
   >>    a @  b @  /  . cr  ;   
   >>   
   >> 15 3 divide  a ? b ?   
   >>   
   >   
   >   
   > This approach does not work well with catch/throw. Because `throw` must   
   restore the values of all "local" variables that are used in the definitions   
   whose execution is being terminated. And this is difficult to implement.   
   > ...   
      
   It is locals on the cheap.  When I've resorted to something like this it's   
   because I needed re-entrancy on a variable and full-blown locals weren't worth   
   loading.  As I never considered catch/throw until you mentioned it, presumably   
   it wasn't an issue in those cases.  But yes, it warrants a warning.   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

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


(c) 1994,  bbs@darkrealms.ca