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