Re: syntax changes (srfi-107/108/109) John Cowan 30 Dec 2012 03:22 UTC

Per Bothner scripsit:

> There is a seeming ambiguity, since in Scheme the character '&'
> is a valid symbol character.  However, a symbol followed
> immediately by either '{' or '[' is not defined by standard
> Scheme, so this is a conflict-free extension.

Unfortunately, &condition[car '(a b c)] is perfectly well-defined
R6RS lexical syntax, where [] means the same as () and symbols
beginning with ampersands are actually standard for names of
condition types.  I don't say it should be that way, but it is.

> &{Hello world!}
> &{Hello &[name]!}


> &section{News as of &(current-date)}

This being, I presume, shorthand for &section{News as of &[(current-date)]}.

> + Kawa has this syntax for a vector constructor:
>   [e1 e2 ... en]
> This is the same as `#(,e1 ,e2 ... ,en), which is the same as
> (vector e1 e2 .. en) except producing an immutable vector.

More to the point, the last is code, whereas the first two are
lexical syntax and therefore work in data.  I think it's important
to always keep the data applications firmly in mind.

I marvel at the creature: so secret and         John Cowan
so sly as he is, to come sporting in the pool
before our very window.  Does he think that
Men sleep without watch all night?