Stephen Pelc wrote:
> > An ambiguous condition exists, if a marker is defined outside and executed
> > inside a file or vice versa, and the file is REQUIRED again.
>
> Given the discussion about "syntactic sugar", is this not also
> an ambiguous condition for INCLUDED
Not for INCLUDED alone, but yes, for a combination of INCLUDED and
REQUIRED. Unfortunately it is too late to change the wording for this
proposal, but I think the intended meaning can be read into the
present wording.
> > REQUIRE FILE-EXT ( i*x "name" -- i*x )
> >
> > Skip leading white space and parse name delimited by a white space
> > character. Push the address and length of the name on the stack and perform
> > the function of REQUIRED.
>
> Weasel word time! This forces the implementer to push the name
> on the stack,
No, the implementor just has to perform the behaviour that is visible
to a standard program. Whether REQUIRE first pushes the name and then
calls another word which pops it, or whether another mechanism is used
to achieve the overall functionality is not visible to a standard
program, and therefore the implementor can use either implementation
approach.
> whereas what I think you mean is to use name to
> perform the function of REQUIRED.
That's what I meant, and the wording above is the clearest I found to
express this meaning. Nobody suggested a better wording.
> > Should we also add a restriction that allows INCLUDED to allocate data space
> > after the interpretation of the included file ends?
>
> Yes. I can conceive of implementations that use linked lists of
> source management information and need a tail block to handle
> file nesting issues.
Unfortunately, it is too late to change the proposal now.
In any case, I don't think that conceivable implementation strategies
are a strong enough reason for complicating the proposal with another
restriction. There seem to be enough implementations around that
don't need this restriction, and show that this restriction is not
necessary to implement the proposal. New implementations of the
proposal should use one of the approaches that do not have this
restriction.
Thank you for your feedback. I am anxiously avaiting your vote.
- anton