[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!