Maciej Piechotka wrote:
I'm so sorry if I've done it wrong - it's my first contact with Haskell
standardization and I base on
http://hackage.haskell.org/trac/haskell-prime/wiki/Process . I hope it
is not too late as well.

Do not worry about that, we have decided to have a yearly standardization process.

Any from GHC.Prim makes unsafeCoerce much useful and safe. Can it be
included in Unsafe.Coerce module?

Pros:
- unsafeCoerce is much more useful with Any (it's a safe placeholder for
any value and therefore can be passed simply in/out FFI).

Yes it's a safe placeholder, but so is an existential, I believe...
data ContainsAny = forall a. ContainsAny a
to put in the container:
"ContainsAny x"
to remove from the container:
"case ... of ContainsAny x -> unsafeCoerce x"
Albeit, there might be a slight performance penalty for the extra box, which can't be removed in all haskell implementations.

Also, what do you mean about "FFI"? I don't think you can pass the "Any" type to foreign functions through the FFI...

Also, can/do all compilers that implement unsafeCoerce implement a safe Any?
Hugs can do it with just "data Any = Ignored" I believe, not sure about nhc, yhc or jhc...

-Isaac
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to