On Fri, Mar 19, 2010 at 3:36 PM, Per Eckerdal <per.eckerdal@gmail.com> wrote:
Hi,

I have now polished and tested the rewrite of the hygiene system enough that I feel confident to release it. Hopefully it doesn't introduce too many bugs. Changes/new features include:

* Rewritten hygiene system.
* The installation procedure has changed slightly, see the README.
* The bugs with let-syntax and letrec-syntax are now zapped
* It now writes warnings about missing symbol names when loading compiled modules
* I added a better README for the github page
* Better tests. Not good, but better.

With this, I hope that the problems with hygiene are fixed. There are still a couple of bugs, for instance with DSSSL parameter scoping, but they are not design flaws. The "only" big thing that remains now is to implement the syntactic tower.

Have a look at http://github.com/pereckerdal/blackhole/

Regards,
Per
_______________________________________________
Gambit-list mailing list
Gambit-list@iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list

Great news!
I just installed the latest version and it build just fine and seems to be working fine except that I have some problems with nested macros.

If I have the following files:

;; File a.scm
(define-syntax when
  (syntax-rules ()
    ((when exp block ...)
     (if exp
         (begin block ...)))))

;; File b.scm
(import a)

(define-syntax foo
  (syntax-rules ()
    ((foo id)
     (let ((id #t))
       (when id
             'foo)))))

(foo bar)

Then running module b.scm gives an 'Unbound variable: a#bar'

--
tomppa