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

Re: syntax changes (srfi-107/108/109)



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]!}

+1

> &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   cowan@xxxxxxxx
before our very window.  Does he think that     http://www.ccil.org/~cowan
Men sleep without watch all night?