chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] hygienic egg PORT-A-MANIA!


From: Alan Post
Subject: Re: [Chicken-users] hygienic egg PORT-A-MANIA!
Date: Mon, 25 Aug 2008 10:22:48 -0601

On Mon, Aug 25, 2008 at 11:38:53AM +0200, felix winkelmann wrote:
> Hello!
> 
> 
> I have added a page to the wiki listing the current status
> of eggs which are or have to be ported to the new hygienic
> chicken. Before Chicken 4 can be released, and this version
> can become the official one, a large part of the eggs should
> be ported and available in the release/4 branch.
> 
> It would be cool if egg-maintainers would consider porting
> their extensions to use hygienic macros and modules. The
> sooner we have a sufficient number of libraries ported,
> the better.
> 
> Please contact me (or this list), if you need help or
> advice in the porting step. Note that this is also a
> convenient moment to get rid of obsolete extensions,
> or stuff that doesn't have a maintainer anymore.
> 
> See
> 
> http://chicken.wiki.br/hygeinic-egg-port-a-mania
> 
> for more details.
> 

I've been watching the progress on the hygenic branch, but I haven't
been worried about porting code until now.  I tend to use macros
here and there, but almost always in very simple #define-like uses:

(define-macro (char->number ch)
  `(- (char->integer ,ch)
      (char->integer #\0)))

(define-macro (0= n)
  `(= 0 ,n))

but occasionally (mildly) more complex than that:

(define-macro (begin0 form . forms)
  (let ((var (gensym)))
    `(let ((,var ,form)) ,@forms ,var)))

If |define-macro| is no longer around, how would the above forms be
written?  I'm not the least bit clear on what is being ported and
what has changed.

Thank you!

-Alan
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?




reply via email to

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