> 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

Reply via email to