Browse thread
Physical counterpart to Pervasives.compare?
-
Elnatan Reisner
- Edgar Friendly
- Alain Frisch
[
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: | Alain Frisch <alain@f...> |
| Subject: | Re: [Caml-list] Physical counterpart to Pervasives.compare? |
On 7/29/2009 3:25 AM, Elnatan Reisner wrote: > Is there something that can complete this analogy: > (=) is to (==) as Pervasives.compare is to ___? > > That is, is there a polymorphic total ordering with respect to *physical* > entities, rather than to their structure? Not really. The physical location of heap values is not stable (because of the GC), so you cannot use it as a total ordering. It may be useful to know that the generic structural comparison has a physical behavior for OCaml objects (it compares their unique ids). So wrapping your values inside objects can be a good trick to get physical comparison (and hashing), as in: class ['a] physical_reference init = object val mutable current : 'a = init method get = current method set x = current <- x end -- Alain