Hi,

Am 12.06.2009 um 23:29 schrieb Wrexsoul:

(defn eager-seq [seqq]
 (loop [v [] s seqq]
   (if (empty? s)
     v
     (recur (conj v (first s)) (rest s)))))

(defn eager-seq
  [s]
  (into [] s))

(with-files-line-seq (file1 file2 file3) lines
 (take 10 lines))

The more idiomatic form would be [file1 file2 file3]
for the file arguments. Using (file1 file2 file3) other
than function calls is discouraged.

(with-files-line-seq (file1 file2 file3) lines
 (eager-seq (take 10 lines)))

(with-files-line-seq [file1 file2 file3] lines
  (doall (take 10 lines)))

(defn to-file [str-or-file]
 (if (instance? File str-or-file) str-or-file (File. str-or-file)))

I think this exists already somewhere in clojure.contrib.java-utils or so.

(defn reader-on [file]
 (BufferedReader.
   (InputStreamReader.
     (FileInputStream. file))))

(defn writer-on [file]
 (BufferedWriter.
   (OutputStreamWriter.
     (FileOutputStream. file))))

Maybe clojure.contrib.duck-streams?

(defn set-atom! [at value]
 (swap! at #(do % (identity value))))

(reset! at value)

You may complain about Clojure's documentation,
but it's not thaaat bad.

Sincerely
Meikel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to