[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Undelimited identifiers?

leppie scripsit:

> Consider: (foo a, b)
> This is also invalid as per R6RS, but IIRC Chez allows this.

`(a, 'b) => (a b):  Racket, Gauche, Gambit, Chicken, Scheme48/scsh,
Kawa, Chibi, SCM, Chez, Vicare, NexJ, STklos, KSi, SigScheme, Scheme 9,
XLisp, Rep, Oaklisp, Spark, Inlab, Owl Lisp.

`(a, 'b) => (a, 'b):  Bigloo, Guile, SISC, Shoe, TinyScheme, Dream,
Scheme 7, Schemik, Elk, VX, Sizzle.

Syntax error:  Larceny, Ypsilon, Mosh, SXI, MScheme.

UMB crashes.

> Notably, IronScheme will give an ugly native exception for invalid
> syntax (eg (list 'a'b)), but will give the correct condition (in the
> R6RS case, &lexical) when invoking it as (read (open-string-input-port
> "'a'b")).

When I tried the above example on IronScheme, it just printed dot prompts
at me and refused to terminate the input S-expression no matter what.
I'm running in -nologo -emacs mode, but from the command line.

> I also note that you have listed Vicare twice.

Oops.  Vicare evaluates (list 'a'b) as (a b).

Here lies the Christian,                        John Cowan
        judge, and poet Peter,                  http://www.ccil.org/~cowan
Who broke the laws of God                       cowan@x
        and man and metre.

Scheme-reports mailing list