chicken-users
[Top][All Lists]
Advanced

[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




reply via email to

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