> This kind of overhaul is not something we can do externally to one of the > most used, non-trivial collection of macros in the Racket code base. We also > have to use a more conservative language to implement it, since it's so low > on the language tower. Perhaps later this year I'll have time to submit a > pull-request that opens the for macros up a bit more in this fashion, but I > anticipate a heavy push-back from core developers due to its supreme > importance to Racket's foundation.
As a simpler alternative, can racket/private/for.rkt just provide some of the currently-internal sequence-transformer functions? Wouldn't this allow someone to implement alternative, performant for/X forms without touching the core? Looking at the code, I'm thinking maybe "expand-clause"? > > -Ian > > ----- Original Message ----- > From: "Asumu Takikawa" <as...@ccs.neu.edu> > To: "Konrad Hinsen" <konrad.hin...@fastmail.net> > Cc: users@racket-lang.org > Sent: Tuesday, September 3, 2013 9:12:54 AM GMT -05:00 US/Canada Eastern > Subject: Re: [racket] Combining iteration and match > > On 2013-09-03 11:32:23 +0200, Konrad Hinsen wrote: >> (for/list ([(list a b) some-sequence]) >> a) > > I usually use `match-define`: > > (for/list ([a+b some-sequence]) > (match-define (list a b) a+b) > a) > > Can be slightly longer than just `match` for simple cases, but doesn't > cause rightward drift. > > Cheers, > Asumu > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users