Version française
Home     About     Download     Resources     Contact us    
Browse thread
Safe Obj.magic container ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

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