Hi Tristan, I don't disagree with Martin on his comments on your email. But it would be good to consider the founder's (AmForth) vision. Although he has passed away he really enjoyed his work (read in an email Erich W. <ew....@na...> - 2020-03-28) in developing AmForth and I could see that in the quality of the code and documentation (and not to take away from that). Time here is the most important factor, refamiliarizing a new structure and being comfortable with it may take away joy when things start to break or don't work like before. My experience has shown that most time and joy is lost troubleshooting why things don't work anymore not actual program development (although my code isn't always perfect either).
Regards On Tue, Dec 23, 2025 at 11:01 AM John Sarabacha <[email protected]> wrote: > Standards are written by imperfect people (there are always typos and > misunderstanding what is to be written). > The actual code doesn't care it will do what it is told in the cpu (state > machine) so the code is the best documentation if it actually works as > intended. Been down this road many times. > Regards > > > On Tue, Dec 23, 2025 at 10:03 AM Martin Kobetic <[email protected]> > wrote: > >> FWIW the Forth standard seems to back my interpretation based on the >> prescribed test results https://forth-standard.org/standard/core/Zeroless >> . >> Funnily the textual description of the word seems to be completely wrong >> in >> the standard, what a wonderful mess :) >> >> On Tue, Dec 23, 2025 at 9:58 AM Martin Kobetic <[email protected]> >> wrote: >> >> > Thank you both for looking into this. I'll respond to many other points >> > separately, but I want to address what's possibly my misunderstanding of >> > the intent of the 0< word. My interpretation of it was that it literally >> > means "is positive" i.e. 0 < tos. It seems that it is meant to be "is >> > non-negative" i.e. 0 <= tos ? >> > >> > On Tue, Dec 23, 2025 at 4:04 AM <[email protected]> wrote: >> > >> >> # -------------------------------------- >> >> CODEWORD "0<", ZEROLESS # ( n -- ? ) >> >> # -------------------------------------- >> >> srai x3, x3, 31 >> >> NEXT >> >> >> >> This is correct for RV32. My RISC-V codebase has the >> >> similar code (different register) and gives the >> >> following for the usual suspects. >> >> >> >> AmForth-RV 7.0 RV32IMAFC WCH CH32V307 C+ASM >> >> Tue 15 Oct 2024 11:52:30 BST >> >> > 1 0< . \ correct >> >> 0 ok \ ... >> >> > -1 0< . \ correct >> >> -1 ok \ ... >> >> > 0 0< . \ correct >> >> 0 ok \ ... >> >> >> > >> > In my interpretation I'd expect 0 <0 to yield -1 not 0. Maybe that's >> where >> > I am wrong? >> > >> > Cheers, >> > >> > Martin >> > >> >> _______________________________________________ >> Amforth-devel mailing list for http://amforth.sf.net/ >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/amforth-devel >> > _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ [email protected] https://lists.sourceforge.net/lists/listinfo/amforth-devel
