Digest #56 2019-06-21
:NONAME 1 . ['] EXIT EXECUTE 2 . CR ; EXECUTE
- Is it a standard programme?
- If yes, what it should print? If no — what is the reason?
Bernd has it right; also, I was not aware of the existence of FLOCAL at the time. Thanks for the feedback; I will keep this in mind for future code!
My guess is that code space and name space are not really visible in the standard (no way to allocate them or access them), while data space is managed by standard words: ALLOT , @ ! etc.
That's a good point: "name space" has another meaning that's used by the Forth and wider programming community, and this standard does not use "name space" much (and I don't remember seeing it used with this meaning anywhere else; more common is to talk about separated headers etc.) So, yes, "header space" instead of "name space" would be clearer.
And what about the following programme:
: e ['] EXIT EXECUTE ; IMMEDIATE : t 1 . e 2 . ; t