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

Re: a counter proposal

----- Original Message ----- 
From: Richard Kelsey <kelsey@xxxxxxxxxxxxxxxxxxx>
To: <srfi-10@xxxxxxxxxxxxxxxxx>
Sent: Thursday, September 30, 1999 11:05 AM
Subject: a counter proposal

> ...
> Why not have
>   #,(...)
> read as
>   (force (delay (...)))
> just as `(...) reads as (quasiquote ...)?  This avoids the need to
> preregister constructors and it preserves the separation between
> syntax and semantics.  A program can be evaluated in one fell swoop.

I woud only suggest to read #,(...) as (hash-comma ...) and
(define-syntax hash-comma (syntax-rules () ((_ ?x) (force (delay ?x)))).
This would expose only one name to name capture -related hazards of
read-macro expansion. It's a pity that this form won't work inside
quoted constants, though...