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,306 of 117,927    |
|    Ron AARON to Hans Bezemer    |
|    Re: In C world they invented FORGET and     |
|    08 May 25 13:55:46    |
      From: clf@8th-dev.com              On 08/05/2025 13:43, Hans Bezemer wrote:       > On 08-05-2025 11:30, dxf wrote:       >> On 8/05/2025 6:39 pm, LIT wrote:       >>>> Aimless fiddlers should just switch to Forth.       >>>       >>> In next 20 years they'll figure out how to FORGET       >>> a function.       >>       >> I can't remember the last time I forgot something.       > Actually - I use it daily. Note that 4tH has no word sets and no       > namespaces. Coming from C - I never felt I needed them. What I *did*       > have was "static" - which allowed me to hide those functions which       > weren't important for the API of that module.       >       > So I added HIDE to 4tH, to clean up modules for that very purpose.       > Usually, all non-public words are named like (NAME) - according to the       > rules set in "Thinking Forth". Which already helps to avoid any       > collisions, since even *if* they were previously used, they would be       > hidden by now.       >       > So its' not uncommon to see some - or even rather large - lists of HIDEs       > at the end of a module. Note I don't have to do them by hand, this one       > does it for me: https://sourceforge.net/p/forth-4th/code/HEAD/tree/       > trunk/4th.src/makehide.4th       >       > Other Forths had HIDE, so I borrowed it. There is no UNHIDE or       > equivalent because 4tH can't. The thing is thrown out of the symbol       > table completely on HIDE.       >       > Also, the size of the symbol table is determined by (amongst others)       > HIDE. Defining words expand the size of the symbol table, HIDE reduces       > it. That's why you can't make HIDE act conditionally by [IF] and [THEN]       > - since at that stage, the system is unable to evaluate such expressions.              In fact, that's where I use 'forget' in 8th. When I "need" a library       file, it can have "private" words which go in a special namespace. At       the end of processing the library, I forget that namespace and so the       words are truly invisible outside of the library scope.              --- 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