[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unhygienic macros
On Dec 9, Matthew Flatt wrote:
> > One practical question, though: is there a way to "unquote" inside a
> > (syntax ...) form, so one could more easily embed a computed syntax
> > object inside a template? Of course one can always pre-bind them to
> > template variables with with-syntax, but it's not always as compact.
>
> Others have requested a `quasiquote-syntax', too. On my list.
I suppose that I'm one of these others... One thing I wanted to add
to this is that the main benifit of this would be having the the
`unsyntaxed' object where it is used, which makes sense in most cases
where such a value is used once (it doesn't look good to write
something like (let ((x 5)) (* x 2))...) -- and I'm not sure about
this, but I think that syntax objects are not commonly used more than
once. One thing that I thought would be nice, but turned out to be
way too heavy than my free time allows, is to have some context that
will use `quasiquote' and `unquote' for `syntax' and some `unsyntax'
-- I think that it (=using the "`" & "," forma) makes macro code much
more readable since it is close to just having the `color
specifications' -- minimal extra text that distracts you from the
content. I tried `fluid-let-syntax' but encountered harder problems,
I wonder if getting this functionality will make it possible.
BTW, is `fluid-let-syntax' as bad as `fluid-let'?
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!