Browse thread
RE: [Caml-list] Are you sure the new "=" of 3.08 is good ?
- Harrison, John R
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Harrison, John R <johnh@i...> |
| Subject: | RE: [Caml-list] Are you sure the new "=" of 3.08 is good ? |
| > I was assuming two things about equal: | > - scan of block from left to right | > - a test on adress equality on pointer before follwing the pointer | > (which is now wrong in 3.08). | | That was true of the old implementation, but has never been guaranteed. For LCF-style theorem provers, I think it's quite important that when comparing terms (or similar tree structures) for equality, there should be a quick "yes" when two high-level subgraphs are pointer eq. For example, Constr(small_1,big) = Constr(small_2,big) (where small_1 = small_2) should return "true" without recursing down "big". This often comes up when generic theorems are instantiated and one then checks that the instantiation does make certain terms match up. I guess like Christophe Raffalli I had just assumed this would be the case based on long experience with ML-family languages, rather than through any explicit discussion in the documentation. Can you clarify what we need to do in order to guarantee this behaviour? John. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners