Sorry, that was a transcription error. My common-lisp is showing. The original source has square brackets.
The issue seems to be that something internal to Clojure does not implement the ISeq interface. Why it wants to find an ISeq interface on Symbol is unclear. The symbol "in" should be part of the closure but it is just a capture of the number of the stream, likely implemented as an integer. So my expectation is that the function #(. in (read)) will be returned as the value of "reader". Thus, the call (reader) should turn into (#(. in (read)) or ((lambda () (. in (read)))) in slightly more traditional syntax. Since (read) returns a byte each call should return a byte. On Mar 3, 9:43 am, Meikel Brandmeyer <m...@kotka.de> wrote: > Hi, > > On Mar 2, 10:57 pm, TimDaly <d...@axiom-developer.org> wrote: > > > (defn reader (file) > > (let [in (new java.io.FileInputStream file] > > #(. in (read)))) > > The arguments a written in a vector not a list: > > (defn reader > [file] ; <- note vectpr > (...)) > > Sincerely > Meikel -- 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