Sujet : Re: How robust is INCLUDE
De : mhx (at) *nospam* iae.nl (mhx)
Groupes : comp.lang.forthDate : 20. Dec 2024, 12:23:43
Autres entêtes
Organisation : novaBBS
Message-ID : <b8a962692f028f2d5b4eb05b18f3979f@www.novabbs.com>
References : 1 2
User-Agent : Rocksolid Light
On Fri, 20 Dec 2024 10:12:13 +0000, minforth wrote:
I don't think I quite understand what you're trying to achieve.
But what happens if there are errors in the process?
Leftover garbage on the s-stack?
In iForth the S-stack is a first class citizen. It might also work
to make this stack cyclical.
At least in my system(s), INCLUDED is implemented with an
internal CATCH/THROW mechanism, which clears all important
stacks (and some internal stuff) on error.
I would sure hope so :-)
As for ANS compatibility: who cares, as long as your code
is well documented.
I was more interested in WHY it would not be compatible.
In (old) SwiftForth the problem is that >R and R> don't work while
INCLUDEing. In (very old) gForth the problem is compiler
security. The [ >S ] is supposed to move the expected address
left by :NONAME away to expose the arguments on the data
stack. In gForth the data stack is polluted with security stuff.
Was there a problem in minforth?
-marcel