[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] macrolet
From: |
Alex Shinn |
Subject: |
Re: [Chicken-users] macrolet |
Date: |
Sun, 09 Mar 2008 19:49:41 +0900 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (darwin) |
>>>>> "Lui" == Lui Fungsin <address@hidden> writes:
Lui> Hi, Is there a macrolet (CL style old school
Lui> lexically scoped macro) for chicken?
It can be defined in any of syntax-case, syntactic-closures
or riaxpander, but you really, really don't want to.
Nesting hygienic macros and unhygienic macros just doesn't
work. You can still get away with simple, top-level
unhygienic macros that don't include any code body, though,
like define-record.
sc-macro-transformer (available in syntactic-closures and
riaxpander), is a lot like CL-style macros, and works with
let-syntax.
Lui> I need to define macro that captures some of the
Lui> lexical variables and I cannot use let-syntax
Lui> because
Lui> - riaxpander currenlty requires case-insensible
Lui> mode, and that mode breaks a few eggs that I'm
Lui> using (e.g. ssax)
There's no reason for this - it needs to be compiled with
csc -i, but then you should be able to load it with
case-sensitive Chicken. I've removed that restriction in my
local copy and will check it in later.
Lui> - riaxpander doesn't yet support #!optional ,
Lui> #!key, etc. which i used a lot in my code.
I'll add these shortly as well.
--
Alex
Re: [Chicken-users] macrolet,
Alex Shinn <=