Programming Clojure

お昼休みに八重洲ブックセンターに寄って、
Programming Clojureを買いました。
なかなか面白そう。

まずは、勉強がてら、指定したファイルの中身を出力するコードを書いてみよう。
Common Lispでは、こんな感じで書けるけど。

(defun cat (filename)
  (with-open-file (in filename)
    (loop for line = (read-line in nil 'eof)
	 until (eql line 'eof)
	 do (format t "~a~%" line))))

(cat "sample.txt")
CL-USER> (cat "sample.txt")
こんにちは、世界!
こんばんは、世界!
さようなら、世界!
NIL

Clojureではどんなコードになるのだろう。