On 12/9/06, Taral <[EMAIL PROTECTED]> wrote:
On 12/9/06, Alfonso Acosta <[EMAIL PROTECTED]> wrote:
> I've been using Data.Dynamic but the Typeable requirement doesn't go
> well with FFI declarations (which don't accept type contexts).
Can you be a little more specific?
Functions like this one are not directy exportable
myfunc :: (Tyeable a, Typeable b) => MyType a b ...
> mt2mgt :: MyType a b -> MyGenType
> mt2mgt = MyGenType.myToDyn
>
> mgt2mt :: MyGentype -> MyType a b
> mgt2mt (MyGenType dyn) = myfromDyn dyn
>
mgt2mt . mt2mgt :: MyType a b -> MyType c d
Yes, it's dangerous. The reason Dynamic requires Typeable is to be
able to check that you're casting Dynamic back to the original type.
Uhm thinking about it right now I realized that mgt2mt is hidden to
the user, so I guess it wouldn't be dangerous if transformations like
the following one are not.
MyType Int Char ---> MyGenType ----> MyType a b
So to summarize, Is transforming a monomorphic type to it's
polymorphic equivalent through unsafeCoerce a dangerous operation?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe