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,924 of 117,927   
   dxf to albert@spenarnc.xs4all.nl   
   Re: Recognizer proposal   
   16 Feb 26 12:18:49   
   
   From: dxforth@gmail.com   
      
   On 15/02/2026 11:33 pm, albert@spenarnc.xs4all.nl wrote:   
   > In article <698fd57e$1@news.ausics.net>, dxf   wrote:   
   >> On 14/02/2026 10:50 am, Gerry Jackson wrote:   
   >>> ...   
   >>> There's another point I think you're missing. I just looked on at my Forth   
   test suite on GitHub and 78 people have found it useful enough to   
   >> give it a star. I've no idea whether they are all developing their own   
   "toy" system but I would guess most are, and their system has to have   
   >> some testing. I suggest that the easiest way is to use an existing test   
   suite. As far as I know there is only one, so that automatically leads   
   >> them to make their system (at least partially) standard compliant. An   
   unexpected (and unintended) consequence of having a test suite.   
   >>   
   >> Cart before horse but I agree.  First-time creators will generally pick some   
   >> standard or system because it's the easiest way.  All the thinking has been   
   >> done for one and there's a wealth of existing source from which to choose or   
   >> use as a guide.  It's a rare lion that hasn't undertaken internship as a   
   camel.   
   >> Moore appears to have been a rebel, lone wolf, from the beginning for whom   
   >> conformity was anathema, stagnation.   
   >>   
   >   
   > You have to test also the words you define yourself. The best is to   
   > come up with complete test for each word, in combination with the   
   > specification and the definition.   
   > This is an example from ciforth:   
   >   
   > worddoc( {LOGIC},{0=},{zero_equals},{n --- ff},{ISO,FIG},   
   > {Leave a true flag forthvar({ff}) is the number forthvar({n})   
   > is equal to zero, otherwise leave a false flag.   
   > It may be aliased to forthcode({NOT}) , which inverts a flag.   
   > },{{=},{0<}},   
   > { {0 0= .},{_T_},   
   >   {  1 0= .},{0},   
   >   {  -1 0= .},{0} },   
   > enddoc)   
   > CODE_HEADER({0=},{ZEQU})    dnl ZEQU is the name used in the assembler file.   
   >         POP     AX      _C{S2}   
   >         AND     AX,AX   
   >         SETZ    AL   
   >         MOVZX   AX,AL   
   >         NEG     AX   
   >         _PUSH   
   > _C   
   >   
   > Stack effect, properties, specifications, also's , tests and   
   > code.   
   >   
   > (Macro _PUSH has inside a _NEXT. )   
      
   In my case the path wasn't particularly arduous as I used 'knowns' throughout   
   - a   
   Fig-Forth slowly and methodically modified to match Forth-83/94 using   
   Laxen/Perry   
   sources as a guide.  The Hayes' ANS core test suite was handy as a final check.   
   I never had the problem of dealing with a mass of untested code e.g. had I   
   started   
   from scratch.  I won't say it was 'a piece of cake' at the beginning.    
   Modifying   
   very low-level code typically leaves you with a system that never even starts.   
      
   --- 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