chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Strange problems with args egg


From: Jonathan Chan
Subject: Re: [Chicken-users] Strange problems with args egg
Date: Mon, 05 Aug 2013 19:54:26 -0700

Sorry for the delayed reply - I missed your message for some reason. The
patch does work! Thanks for the help and for the useful egg.

-- 
Jonathan Chan

On Sun, Aug 4, 2013, at 06:43 AM, Jim Ursetto wrote:
> Did you try my patch?  You don't have to rewrite anything, it's a bug in
> the args egg.
> 
> On Aug 4, 2013, at 2:13 AM, Jonathan Chan <address@hidden> wrote:
> 
> > Thank you for the help! This is definitely a very interesting language to 
> > learn.
> > 
> > On 08/03/2013 09:06 AM, John Cowan wrote:
> >> Jonathan Chan scripsit:
> >> 
> >>> Here is the smallest amount of args-using Chicken that will cause the
> >>> problem:
> >>> 
> >>> (define-syntax test
> >>>   (syntax-rules ()
> >>>     ((test)
> >>>      (begin
> >>>        (define opts (list (args:make-option (h help) #:none "display
> >>>        this text" (print "foo"))))
> >>>        (write (args:parse (command-line-arguments) opts))))))
> >>> 
> >> [...]
> >> 
> >>> The strange thing is that h and help seem to have turned into ("h390"
> >>> "help391"), causing problems.
> >> This is not a Chicken-specific problem, but a general problem
> >> with non-hygienic macros.  You are using the non-hygienic macro
> >> "args:make-option" within a hygienic macro.  The syntax-rules transformer
> >> doesn't know that "h" and "help" are being used literally here (because
> >> it cannot tell what args:make-option does), so it systematically renames
> >> them to avoid collisions.
> >> 
> >>> Is there something I need to change to fix the problem? Sorry for many
> >>> misunderstandings.
> >> You can rewrite test as a non-hygienic (explicit renaming or implicit
> >> renaming) macro.
> >> 
> > 
> > -- 
> > Jonathan Chan
> > address@hidden
> > 
> > 
> > _______________________________________________
> > Chicken-users mailing list
> > address@hidden
> > https://lists.nongnu.org/mailman/listinfo/chicken-users
> 



reply via email to

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