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,583 of 117,927    |
|    Hans Bezemer to All    |
|    Re: 0 vs. translate-none    |
|    26 Sep 25 17:09:55    |
      From: the.beez.speaks@gmail.com              On 25-09-2025 07:22, dxf wrote:              4.1.1 Implementation-defined options       The implementation-defined items in the following list represent       characteristics and choices left to the discretion of the implementor,       provided that the requirements of this Standard are met.              (HB) This is an extensional definition - it lists all elements in the       set of "implementation defined options".              4.1.2 Ambiguous conditions       A system shall document the system action taken upon each of the general       or specific ambiguous conditions identified in this Standard.              (HB) This is an extensional definition - it lists all elements in the       set of "ambiguous conditions".              The fun part is that in ANS-Forth "undefined" is actually undefined.       Using Merrian Webster: *not provided with a definition*              "not prescribe a specific behavior" equates "ambiguous condition" (2.1):       a circumstance for which this Standard does not prescribe a specific       behavior for Forth systems and programs. It's not related to "undefined".              If you invoke an "ambiguous condition" as a programmer, you cannot       depend on any standard behavior- because there is none.              If you have to tackle an "ambiguous condition" as an implementer, the       standard describes in 3.4.4 (Possible actions on an ambiguous condition)       which action you can take. This is a limited list - so it's not       "anything you wanna do".              E.g. "no loop parameters" is an ambiguous condition for Forth's +LOOP -       and has to be tackled according to section 3.4.4. However +LOOP in       interpretation mode is undefined. Since "undefined" is undefined, the       possible actions that can be taken are also undefined. If you want to       interpret that as "anything goes" I won't blame you ;-)              Show some nice ASCII art. Just a suggestion.              Hans Bezemer                            > On 24/09/2025 4:45 pm, Anton Ertl wrote:       >> albert@spenarnc.xs4all.nl writes:       >>> This shows me how to Lift this defect. Rename LITERAL to (LIT) and       >>> define       >>> : LITERAL 'LIT , , ; IMMEDIATE       >>       >> Looks good.       >>       >>> In the standard:       >>> LITERAL :       >>> Interpretation: Interpretation syntax for this word is undefined.       >>       >> Has ISO changed the text? Forth-94 and Forth-2012 say:       >>       >> |Interpretation:       >> |Interpretation semantics for this word are undefined.       >>       >>> What if the standard says       >>> execution of this word while in interpret mode is an ambiguous condition       >>       >> It does not, and that's a good thing.       >       > "ambiguous condition:       > A circumstance for which this Standard does not prescribe a specific behavior       > for Forth systems and programs."       >       > "undefined" and "not prescribe a specific behavior" seem much alike to me.       > Either way, the Standard is saying don't do this thing. It's not as if       > they'd said nothing about it and left it up to you.       >              --- 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