気にいらないので

というかケツにnilがいっぱいついてたので書きなおした。countとるとたいへんなことが起きたので。

(use 'clojure.contrib.duck-streams)
(defn apps []
   (letfn [(gap [lst] 
           (lazy-seq
             (if-let [l (first lst)]
               (cons l (gap (rest lst)))
               )))]
          (filter #(re-seq #"\.app$" (. % getName)) 
                  (gap (. (file-str "/Applications") listFiles)))))

(println (count (apps))))

遅延シーケンスはすごい。これだけでじぶんの/Applicationsにある67個のappファイルが表現できる。
けど一歩まちがえれば昨日のじぶんのように破綻する。まさに諸刃の剣。