Digest #57 2019-06-23
Contributions
In the specification for #, the stack is shown with "ud". Does this mean that the Standard expects all numbers to manipulated internally as double-width? Or is the interface to the data stack supposed to be aware of whether a <# ... #> delimited conversion is in effect? Or is it the programmer's responsibility to manage data inside a <# ... #> conversion to ensure the data stack always has double-wide values? From the example/test given for # (GP3) it seems the latter is expected.
Replies
Both are not standard programs. The reason is the following ambiguous condition listed in 4.1.2:
attempting to obtain the execution token, (e.g., with 6.1.0070 ', 6.1.1550 FIND, etc. of a definition with undefined interpretation semantics;
Wrt. improving the standard: There is a closing parenthesis missing. Also, this ambiguous condition should not just be hidden in the System Documentation Requirements. After all, it documents a restriction on programs, not systems.
Could you please just make the session time longer? It seems for me there is no any issue if timeout will be about 7 days or even unlimited. For example, the session on StackOverflow does not expire at all.
It is slightly confused that a word has execution semantics but it cannot be passed to EXECUTE
or COMPILE,
in a standard way. Perhaps there is a sense to specify the run-time semantics in place of the execution semantics ("Execution" section) for such words, — like it is done for some other words without specified interpretation semantics (like IF
). Isn't it?