Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was a bit puzzled. Clojure seems to provide both avenues.

The "Common Lisp" version:

  (for [i (range 1 10)
        :when (even? i)
        :while (< i 5)]
    i)
A Haskell-y version (according to the article):

  (->> (range 1 10)
       (take-while #(< % 5))
       (filter even?))
Using Clojure's transducers:

  (into [] (comp
            (take-while #(< % 5))
            (filter even?))
        (range 1 10))


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: