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

Reply via email to