On 25 Feb 2007, at 22:44, John Cowan wrote:
> William D Clinger scripsit:
>
>> According to the current draft R6RS, implementations
>> are not allowed to "abort at run time"; they would
>> have to raise a &violation exception, from which the
>> program might conceivably recover in a portable way.
>
> According to 2.7, however, if there is a syntax error (and
>
> (if (foo))
>
> is a syntax error, just as
>
> ((((((
>
> is, the program or library is not allowed to begin execution.
Just for clarification: What does it mean that the program is "not
allowed to begin execution"? Does this mean that it would not be
valid to implement R6RS as a plain metacircular interpreter, without
performing some additional syntactic check beforehand, that is?
Is a syntactic check not part of program execution in an interpreter?
Pascal
--
Pascal Costanza, mailto:pc_at_p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
Received on Sun Feb 25 2007 - 16:50:02 UTC