aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/duck_streams.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/duck_streams.clj')
-rw-r--r--src/clojure/contrib/duck_streams.clj14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/clojure/contrib/duck_streams.clj b/src/clojure/contrib/duck_streams.clj
index b9bcfda8..8f57e67d 100644
--- a/src/clojure/contrib/duck_streams.clj
+++ b/src/clojure/contrib/duck_streams.clj
@@ -43,7 +43,19 @@
-(ns clojure.contrib.duck-streams
+(ns
+ #^{:author "Stuart Sierra",
+ :doc "This file defines \"duck-typed\" I/O utility functions for Clojure.
+ The 'reader' and 'writer' functions will open and return an
+ instance of java.io.BufferedReader and java.io.PrintWriter,
+ respectively, for a variety of argument types -- filenames as
+ strings, URLs, java.io.File's, etc. 'reader' even works on http
+ URLs.
+
+ Note: this is not really \"duck typing\" as implemented in languages
+ like Ruby. A better name would have been \"do-what-I-mean-streams\"
+ or \"just-give-me-a-stream\", but ducks are funnier."}
+ clojure.contrib.duck-streams
(:import
(java.io Reader InputStream InputStreamReader PushbackReader
BufferedReader File PrintWriter OutputStream