> I'm still puzzled about this though, because (doc str) says that with one > argument x, str returns x.toString(). What it returns is > "clojure.lang.LazySeq@fe1" > > So it seems to be returning a lazy sequence. Why is the function not > simply applied? Other functions are "applied" simple by expressing their > form. >
No, it is returning exactly as advertised, the result of calling #toString() on an instance of LazySeq. The difference between (str a-lazy-seq) and (apply str a-lazy-seq) is that in the first case str is called with one argument, the lazy seq, and in the second case with, say 5 arguments, for a lazy seq of length 5. The lazy seq is *spliced* into separate arguments to str. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en