Digest #73 2019-08-07
Contributions
referenceImplementation - GNU C RESTRICT would make sense in the standard
IMMEDIATE sets the corresponding flag in the latest compiled word header. GNU Forth RESTRICT sets the compile-only flag in a similar manner. I think it should be standardized for the sake of completeness.
Replies
Hayes' core.fr starts with HEX. Now that we have standardized number prefixes, we could use number prefixes (e.g., $20) to eliminate this dependence on BASE.
I think, regardless other third party files, numbers in the specification should be in decimal by default. The test suit from Annex F restores BASE after loading.
Also, in other places the decimal radix is implied. E.g. the tests for +LOOP.
referenceImplementation - GNU C RESTRICT would make sense in the standard
restrict
in Gforth is synonym for compile-only. Its behavior is described as "Remove the interpretation semantics of a word". Such behavior description cannot take place in the standard.
By the standard, if a word with undefined interpretation semantics is encountered by the text interpreter in interpretation state the occurring behavior is implementation specific. A possible variant is to even perform its compilation semantics. There is no much sense for a standard program to transform the well defined interpretation semantics of some word to something unknown, that will be depend on implementation.