Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: The meaning of xt in Forth-94 (was: bug in VFX --- IF does't work) Date: Sat, 20 Jun 2015 14:01:03 -0400 Organization: Aioe.org NNTP Server Lines: 39 Message-ID: References: <2e398151-3bb9-4827-8b25-2065117703f1@googlegroups.com> <823f6e68-7e9a-474d-8d9f-85961a51eca5@googlegroups.com> <2015Jun16.092109@mips.complang.tuwien.ac.at> <2015Jun17.123449@mips.complang.tuwien.ac.at> <2015Jun19.140757@mips.complang.tuwien.ac.at> <55840e9b.78522916@news.eternal-september.org> <2015Jun20.173600@mips.complang.tuwien.ac.at> NNTP-Posting-Host: n4wpt9zq8xR26Ttf9mo2BA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:39896 On Sat, 20 Jun 2015 11:36:00 -0400, Anton Ertl wrote: > stephen@mpeforth.com (Stephen Pelc) writes: >> The time frame of the error message is a consequence of what xts are >> assumed to be there for. If you assume that an xt can only be >> EXECUTEd or COMPILE,d then your attitude has a point. I take the >> original ANS perspective that the xt is a token for access to >> the details of a word, including all those things beyond just >> execution and compilation. > > There is no such perspective in ANS Forth. The only thing you can do > with an xt in ANS Forth (apart from the things that you can do with > every cell) is to EXECUTE it, to COMPILE, it, and, for CREATEd words, > to >BODY it. In ANS Forth you cannot get the immediate flag from the > xt, you cannot get the name from the xt, you cannot print the name > from the xt, you cannot get the compilation semantics of the word, if > the xt represents the interpretation semantics, you cannot get the > interpretation semantics if the word represents the compilation > semantics, you cannot extract what kind of word it is, not even if > >BODY is applicable or not, nor anything else except the three things > stated above. You used "cannot" a lot here to Stephen. Do you actually mean "cannot"? I.e., if someone attempts to implement Forth with a threaded interpreter as DTC or ITC, they *will* be able to get the name from the xt, get immediate flag, and perform other accesses to the word from the xt. Once before, I asked you if this meant that ANS Forth prohibited threaded implementations of Forth and you said that no it didn't. I.e., by "cannot" I would take that to mean I must code up something extra for a threaded code Forth to prohibit xts from being used for those ANS unlisted purposes. Rod Pemberton -- It's time to put an end to gun violence! Use a hammer ...