sva48938.scm 421 B

1234567891011121314151617181920
  1. ;; Savannah bug #48938: lambda cannot be cast to java.util.Comparator
  2. (define-syntax ->
  3. (syntax-rules ()
  4. ((_ o)
  5. o)
  6. ((_ o (m a ...) r ...)
  7. (-> (invoke o 'm a ...) r ...))
  8. ((_ o f r ...)
  9. (-> (field o 'f) r ...))))
  10. (format #t "out:~w~%~!"
  11. (-> [1 3 5 7 9 8 6 4 2]
  12. (stream)
  13. (filter (lambda (x) (<= x 5)))
  14. (sorted (lambda (a b) (- b a)))
  15. (toArray)))
  16. ;; Output: out:[5 4 3 2 1]