Re: macro defining macro

Peter Kourzanov <[email protected]>
Newsgroups gmane.lisp.scheme.bigloo
Message-ID <1385052301.5595.15.camel@leda>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.