7 hours ago, Danny Yoo wrote:
> (define (hash->keyword-apply f a-hash [rest-args '()])
>   (define-values (keys vals)
>     (for/fold ([keys '()] [vals '()])
>               ([k (sort (hash-keys a-hash) string>? #:key symbol->string)])
>       (values (cons (string->keyword (symbol->string k)) keys)
>               (cons (hash-ref a-hash k) vals))))
>   (keyword-apply f keys vals rest-args))

`keyword<?' would be easier.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to