That's a fair point, but do you always know that what you've gotten back is 
a sequence or a data structure, if you aren't looking directly at the code 
that you're calling?

On Monday, May 13, 2013 10:08:00 AM UTC-4, 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>
>>
>>> 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.


Reply via email to