Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
RE: [Caml-list] Are you sure the new "=" of 3.08 is good ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ 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

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

  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

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?


To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: