bug-guile
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]