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,951 messages   

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

   Message 116,682 of 117,951   
   Ruvim to albert@spenarnc.xs4all.nl   
   Re: portable or not? Volatile strings   
   12 Aug 24 15:27:54   
   
   From: ruvim.pinka@gmail.com   
      
   On 2024-08-12 13:31, albert@spenarnc.xs4all.nl wrote:   
   > In article ,   
   > Ruvim   wrote:   
   >> On 2024-08-11 17:35, albert@spenarnc.xs4all.nl wrote:   
   [...]   
   >>> I made S" " such that it ALLOT's the string at HERE,   
   >>   
   >> This is not allowed, without any options.   
   >>   
   >> The alloted data space regions shall be contiguous unless "definitions   
   >> are added to or removed from the dictionary between allocations"   
   >> (3.3.3.2), or the function of `INCLUDED` is performed (11.6.1.1718,   
   >> 11.6.2.1714). No other conditions are mentioned anywhere.   
   >   
   > That settles it. Note that it applies to interpret mode only,   
   > during a definition being permanent is not an issue because it is in a   
   > definition.   
   > This is a defect ("bug") in S" in ciforth.   
   >   
   > The only solution is to make S" state smart:   
   > : S" STATE @ IF POSTPONE " ELSE &" PARSE ;  IMMEDIATE   
      
   This implementation implies an environmental restriction: the string   
   returned by the interpretation semantics of `S"` is valid until a   
   subsequent invocation of `REFILL`, because the returned string is   
   located in the input buffer.   
      
      
      
      
   >   
   > [ Before it was an alias for the "-as-a-prefix without the   
   > prefix flag.   
   > : S" POSTPONE " ; IMMEDIATE   
      
   In this implementation the interpretation semantics are incorrect, right?   
      
      
   > It sticks to the design rule for ciforth that only denotations,   
   > generalisation of numbers, are allowed to be state smart. ]   
      
      
      
   --   
   Ruvim   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

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


(c) 1994,  bbs@darkrealms.ca