Hi guys,

I'm writing a simple parser here, and for parsing I'm creating a
lazy-sequence this way:

(defn tokens-sec [string]
  (iterate (fn [info] (next-token info)) [0 0 string []]))

but there is a problem, this sequence has a limit (that's when there are no
more tokens to consume).
How I stop the iteration?? How I signal that it reached the end? I tried:

(defn tokens-sec [string]
  (iterate (fn [[_ _ string] :as info]
             (if (> (count string) 0) (next-token info))) [0 0 string []]))

but no lucky...

There is any way to signal to iterate that list reached the end? Or there is
another way that I can't see to make this lazy list works this way?
---
Wilker LĂșcio
http://about.me/wilkerlucio/bio
Kajabi Consultant
+55 81 82556600

-- 
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