Digest #113 2020-08-30
Contributions
How can we conclude from nt, do identifiable execution semantics are defined for the corresponding definition? And how to get the corresponding xt, if any?
By "identifiable" I mean that these semantics may be identified by an execution token xt — to exclude the cases of the words like EXIT
, >R
, etc, that have only nominal execution semantics (see also news:r2u5p3$n4p$1@dont-email.me).
Replies
I mistakenly placed this question into wrong section. The right variant is placed into the standard/tools section now.
Why it is important
If the same nt is allowed then:
SYNONYM
may rely on that whennewname
andoldname
are the same.TRAVERSE-WORDLIST
may produce the same nt several times during iteration of one word list, or between iterations of several word lists (see also the comment).
If the same nt is not allowed, it guarantees uniqueness of each nt during iterations of all available word lists via TRAVERSE-WORDLIST
.
Take a note on Comparison of terminology to some past proposals.
For example, it shows that "to translate" is important and very useful term.
the lower 32-bits of each cell value of udfraction are concatenated to provide the binary fraction bits of the mantissa
What is the rationale that instead of taking udfraction as a number you take and concatenate the lower 32 bits of each its cell?
requestClarification - Getting execution semantics from nt
You can use name>interpret
to get an xt for the interpretation semantics of a word (if present).
For most words the interpretation semantics are the same as the execution semantics. For the cases where that is not the case, what's your interest in execution semantics? Especially given that you seem not to be interested in words like exit
and >r
where execution semantics are defined but interpretation semantics are not.
My take is that "execution semantics" for named words is only a vehicle for defining interpretation and compilation semantics through the default mechanisms in 3.4.3; that's why most words with explicitly defined interpretation and compilation semantics have no defined execution semantics. So there is no point in reifying the execution semantics in addition to interpretation and compilation semantics.
In other words, assume we introduce a name>execution
. What would you use it for? Can these uses not be accomplished with name>interpret
and name>compile
?
I can't see any useful implementation in which two definitions would share an nt. If you think to the dictionary as a database of all the properties of definitions then the nt is the key field. Several nt`s may share a name or an xt , but not vice versa.