On Tue, Dec 11, 2012 at 5:17 AM, Jim foo.bar <jimpil1...@gmail.com> wrote:
> I disagree...
> One of the nice things about clojrue is that, at tis hear, lies the 'equiv'
> operator which is basically the 'egal' fn as defined by Baker [1993] [Equal
> rights for functional objects or the mroe things change the more they stay
> the same]. When using '=' with data-structures you are essentially comparing
> values and not types.
>
> To come back to your example, both are sequential seqs that contain the same
> values in the same order. Why shouldn't they be equal?

It's interesting that you quote Baker, because this is one of the
places where Clojure explicitly cheats and ignores Baker's operational
equivalence in favour of convenience. Egal's operational equivalence
would not treat lists and vectors as equivalent because they have very
different behaviour characteristics when it comes to conj, etc, but if
Clojure treated them differently then laziness would be much more
burdensome.

There are a few other places where Clojure cheats too, but this is the
most noticeable.

-Phil

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