Browse thread
Safe Obj.magic container ?
[
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: | David Teller <David.Teller@u...> |
| Subject: | Safe Obj.magic container ? |
Along the lines of this discussion on Obj.magic, I have a question about the semantics of the beast. Assuming that I have two types t and u and a value v of type t, under which conditions on t and u is it safe to Obj.magic v to type u, pass u around a few times and Obj.magic it back to type t ? In particular 1. can I assume that this is always going to work if u is 'a.'a ? 2. if t is a polymorphic variant written inline without a type name, can I assume that if I write the same inline definition in another module, it will have the same internal representation ? 3. assuming the answer to 1. is No, is there a type u or a simple manipulation which should work for any type t ? Or perhaps just for polymorphic variants ? My guesses are 1. No 2. Yes 3. Possibly if I restrict myself to polymorphic variants. Otherwise, perhaps by playing with Deriving's Typeable. Thanks, David -- David Teller Security of Distributed Systems http://www.univ-orleans.fr/lifo/Members/David.Teller Angry researcher: French Universities need reforms, but the LRU act brings liquidations.