[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] syntax-rules segment matching?
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] syntax-rules segment matching? |
Date: |
Tue, 30 Dec 2008 13:48:53 +0100 |
On Mon, Dec 29, 2008 at 11:54 PM, Jack Trades
<address@hidden> wrote:
> (define-syntax def
> (syntax-rules ()
> ((def (name arg ... (opt-arg opt-value) ...) body ...)
> (define (name arg ... #!optional (opt-arg opt-value) ...) body ...))))
>
> Error: during expansion of (syntax-rules ...) - segment matching not
> implemented: (arg ... (opt-arg opt-value) ...)
>
> Will segment matching be coming to Chicken 4 soon?
Sorry, I'm not familiar enough with the syntax-rules compiler, yet,
but I'm sure this can be done. But I can try to ask a macrologist.
> In the meantime is there
> a workaround? A few core parts of my DSL are written with segment matching
> macros and like the old saying "You don't know what you've got till it's
> gone."
Not that I know of.
>
> Also would this work, even if segment matching was implemented? I think
> Chicken 4 wiped out my previous versions so I can't test it. Is there a
> proper way to use #!optional, #!rest and the like, or equivalent functions
> like opt-lambda?
This should work ok. DSSSL extended lambda-list syntax is fully supported.
>
> All in all, I'm very impressed with the new Chicken. It's very easy to use
> even for a beginning Schemer. Keep up the good work.
Many thanks for the feedback. It was a major piece of work, so I appreciate
your appreciation, deeply.
cheers,
felix