From: krishna.myneni@ccreweb.org   
      
   On 6/28/24 03:04, albert@spenarnc.xs4all.nl wrote:   
   > In article ,   
   > Krishna Myneni wrote:   
   ...   
   >> The solutions are:   
   >>   
   >> 1) leave everything as is, and live with the contradiction and the   
   >> hazard of performing 0 SET-ORDER in interpretation state.   
   >>   
   >> 2) make SET-ORDER state-smart, and live with the contradiction. This   
   >> will potentially break code.   
   >>   
   >> 3) disallow zero as an argument to SET-ORDER e.g. throw an error for zero.   
   >>   
   >> Am I missing any other options?   
   >   
   > 4) Use wordlists as a pure stack. Also ASSEMBLER .. PREVIOUS.   
   > Define the minumum search order as only handling numbers and other constants.   
   > Declare SET-ORDER and GET-ORDER obsolete.   
   >   
      
   The whole Search Order word set is clunky and has a cobbled together   
   feel about it. It is also difficult to integrate a named modules system   
   into which provides Public/Private definitions into the standard words   
   e.g. making ORDER list the names of the modules isn't easy.   
      
   A stack model for the search order may be the way to go. It would be   
   more intuitive to Forth users than having to remember ONLY ALSO PREVIOUS   
   etc.   
      
   Currently the standard defines what a minimum search order should   
   contain but then promptly disregards it by standardizing 0 SET-ORDER.   
   This is dangerous in interpretation mode, and, while it may have uses in   
   compilation mode, within a definition where the prior search order can   
   be restored (or not), the notion of a well-defined minimum search order   
   should be a strong guarantee to the Forth programmer and not allowed to   
   be violated easily.   
      
   --   
   Krishna   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|