When writing a natural extension to racket/base for hashes, hash-filter-map, I found that what would be the most natural way to write it would look like so:
(define (hash-filter-map f ht) (for/list ([(k v) (in-hash ht)] #:when/bind [res (f k v)]) res)) Instead I had to write (define (hash-filter-map f ht) (for/fold ([result '()]) ([(k v) (in-hash ht)] (cond [(f k v) => (lambda (temp) (cons temp result))] [else result]))) Which is less pretty. I'd add this myself, but the for macros are scary. Anyone familiar with this section of code willing to add this? -Ian _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev