Hi John, Some time ago I have posted my port of R5RS (+SRFI45) compatible expander called alexpander to this list (otherwise google for alexpander+bigloo+bundle, or I can send it to this list again, if needed). At some point it was even packaged as a library but somehow never made it into the distribution. I am maintaining it as a local mqueue.
I am a happy user of alexpander since ~2010 and can only recommend using it for e.g., ML/Haskell-style pattern-matching or for extending Bigloo with monads, miniKanren, fuller number-tower (rationals, complex) etc. Hope this helps, Regards, Peter On Thu, 2013-11-21 at 17:23 +0100, [email protected] wrote: > This gives the expected output in other Schemes (tested racket, chicken, > guile, kawa) but in Bigloo (4.0b) shows: > > *** ERROR:let: > No matching clause -- (hygiene.r5rs.mark1001let ((hygiene.r5rs.mark1001patt- > var (hygiene.r5rs.mark1001quote hygiene.r5rs.mark1001z)) > hygiene.r5rs.mark1001...) (hygiene.r5rs.mark1001list > hygiene.r5rs.mark1001patt-var hygiene.r5rs.mark1001...)) > > Here is the program: > > (define-syntax macro1 > (syntax-rules () > ((_ form) form))) > > (macro1 > (define-syntax macro2 > (syntax-rules () > ((_ patt-var ...) > (let ((patt-var 'z) ...) > (list patt-var ...)))))) > > (display (macro2 a b c)) ;; Expected: (z z z) > (newline) > > Regards, > -John
