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

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

This page is part of the web mail archives of SRFI 109 from before July 7th, 2015. The new archives for SRFI 109 contain all messages, not just those from before July 7th, 2015.



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?