[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ice-9/syncase.scm enhancement request
From: |
Dorai Sitaram |
Subject: |
Re: ice-9/syncase.scm enhancement request |
Date: |
Mon, 14 Jan 2002 13:46:18 -0500 (EST) |
Marius Vollmer wrote:
> Dorai Sitaram <address@hidden> writes:
>
> > ice-9/syncase.scm provides a procedure datum->syntax-object that
> > insists that its first argument be a syntax-object that is an
> > identifier.
> >
> > This is an unnecessary restriction, and removing this check makes
> > writing low-level macros easier, because you can give a
> > syntax-object directly as datum->syntax-object's first argument,
> > instead of destructuring it to get an appropriate identifier.
>
> I'll just trust you on this. Could you provide a ChangeLog entry that
> describes the change?
Hi Marius. Here's my stab at it:
ice-9/psyntax.ss: Removed assertion in
datum->syntax-object that checked if the first
argument, a syntax-object, is an identifier.
Henceforth, any syntax-object may be used as
datum->syntax-object's first argument.
You may remove the second sentence if it's too verbose.
Note that you have to regenerate psyntax.pp from the
thus-changed psyntax.ss. I presume you have a
standard way of doing it. Here's one method that
will work.
First, go to the ice-9 directory. Make the
proposed change to psyntax.ss (i.e., comment out the
(arg-check ...) expression in
(set! datum->syntax-object ...)
Then, staying in the ice-9 directory, do the following
after opening a Guile session:
(use-modules (ice-9 syncase))
(define-module (ice-9 syncase))
(psyncomp)
;takes a while
(exit)
At the end of this, you should have the new psyntax.pp.
--d