So the following is not encouraged because we disregard the result of calling seq?

(def dummy
  {:a [1 2 3]
   :b [4 5 6]
   :c []
  })

=>(every? seq (vals dummy)) ;make sure all values are non-empty
false

Jim

On 13/05/13 15:08, Meikel Brandmeyer (kotarak) wrote:
Hi,

Am Montag, 13. Mai 2013 13:57:57 UTC+2 schrieb Herwig Hochleitner:

    2013/5/13 Meikel Brandmeyer (kotarak) <m...@kotka.de <javascript:>>

        seq belongs to seq-land. empty? belongs to data structure
        land. It should actually be implemented as #(zero? (count %)).
        But unfortunately it is not.


    I'd argue it shouldn't

    (empty? (cycle [1 2 3])) => false
    (zero? (count (cycle [1 2 3]))) ... infinite loop


You misunderstood my argument. cycle returns a sequence => use seq. count is the wrong thing to call here. And calling seq without using its return value (with a name) is a smell. count should not be called in sequences. (In fact I believe that count should be O(1).)

(Shameless plug in case it clarifies what I mean: http://kotka.de/blog/2010/11/Beware_the_unnamed_seq.html )

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
---
You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
--
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
--- You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to