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,307 of 117,927   
   albert@spenarnc.xs4all.nl to the.beez.speaks@gmail.com   
   Re: In C world they invented FORGET and    
   08 May 25 13:11:52   
   
   In article ,   
   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.   
      
   I guess that you reorder the links fields.   
      
   I use a bit flag, so that it can be undone.   
   'DROP DUP HIDDEN   \ easier:  `` HIDE DROP '' , but I need the address.   
   \ no use of `DROP here.   
   ( dea - ) HIDDEN     \ Pops up again.   
      
   1 2 DROP .S   
   1   
      
   I like NAMESPACE (aka pushing vocabularies).   
   My lisp namespace totally hides there is a Forth underneath.   
      
   >   
   >Hans Bezemer   
   >   
      
   Groetjes Albert   
   --   
   Temu exploits Christians: (Disclaimer, only 10 apostles)   
   Last Supper Acrylic Suncatcher - 15Cm Round Stained Glass- Style Wall   
   Art For Home, Office And Garden Decor - Perfect For Windows, Bars,   
   And Gifts For Friends Family And Colleagues.   
      
   --- 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