From: the.beez.speaks@gmail.com   
      
   On 27-04-2025 14:02, albert@spenarnc.xs4all.nl wrote:   
   > In article ,   
   > Hans Bezemer wrote:   
   >> On 27-04-2025 08:21, dxf wrote:   
   >>> On 26/04/2025 9:07 pm, albert@spenarnc.xs4all.nl wrote:   
   >>>> In article ,   
   >>>> dxf wrote:   
   >>>>> On 26/04/2025 2:34 am, Hans Bezemer wrote:   
   >>>>>> ...   
   >>>>>> Yeah, I have helped to make a proposal for PLACE and +PLACE - which   
   never even made it to the voting stage.   
   >>>>>   
   >>>>> It's a nice symmetry. OTOH the remaining vendors use APPEND and why   
   should they change?   
   >>>>>   
   >>>>   
   >>>> $+! was even earlier. It predates the IBM PC XT.   
   >>>> (Osborne, CP/M)   
   >>>   
   >>> Even PLACE was new back then!   
   >>>   
   >>> String stacks often had $+ or equiv. Somehow I never took to them.   
   >>> Not enough applications that warranted the effort?   
   >>   
   >> Let's face it - the string support was notoriously bad in Forth. People   
   >> openly complained about that.   
   >   
   > You must get rid of two ideas that are in the basic/lisp/c world.   
   >   
   > 1. You don't need dynamic strings. Just keep track of where you left them.   
   > [ If you really need them, don't do circular buffer or string stacks.   
   > Interface to the memory wordset (ALLOCATE c.s). ]   
   >   
   > 2. Zero ended strings is a stupid 60's c-cludge. Copying that into Forth is   
   > beyond .. . They can't accomodate zero byte in strings, They cannot   
   > accomodate multiple byte characters.   
   >   
   > If you fetch a string, you have a "c-addr count". Forth can have 2 items   
   > on the stack you know.   
   >   
   > So In my CP/M day I get by with $! $@ $+! and $C+! .   
   > I made a program playing a text adventure game with that.   
   >   
   > Groetjes Albert   
   >   
   >   
   >   
   >>   
   >> Hans Bezemer   
      
      
   -- 2. Zero ended strings is a stupid 60's c-cludge. Copying that into   
   Forth is beyond .. . They can't accomodate zero byte in strings, They   
   cannot accomodate multiple byte characters.   
      
   Well, the "club" has killed that one, so it bears no longer any   
   significance. FYI: I was not in favor of this proposition, it reeked   
   extremely Forth-83:   
      
   "Since then, in 2016 the Forth-200x committee in favour of eliminating   
   ambiguous conditions has decided to require “1 CHARS = 1” thus making   
   systems that have other character sizes than on not compliant to   
   _future_ Forth-200x standards [2][3]. Requesting standard systems to   
   have byte size characters limit counted strings to the known maximal   
   length of 255 characters."   
      
   Hans Bezemer   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|