I'm sympathetic to this proposal, but I don't have a well considered opinion. Instead, I'll present a few facts:
- TYPE, RuntimeRep, and Multiplicity should be allowed in Safe Haskell. You can't do anything untoward with these folks.
- That said, Safe should not imply that linear-types guarantees are in force. At least, not yet. Linear types features cannot cause seg-faults (or other violations of safety expectations).
- RuntimeRep has not yet stabilized. But it is a niche feature, and I wouldn't really expect stabilization here for some time.
Maybe a nice compromise is introducing GHC.Kind that is -XSafe and exports all of these?
Richard
David makes a very good point here. That perhaps they should first stabilize a bit more before being exposed through there
My impression is that RuntimeRep may not have stabilized all the way yet. There are things that work for LiftedRep and UnliftedRep that want to be polymorphic that way.
Hello,
I'd like to export TYPE, RuntimeRep(..), Multiplicity(..) from Data.Kind.
(Multiplicity is the Linear Haskell type - One and Many.)
Currently you have to import GHC.Exts / GHC.Types which conflicts with
Safe Haskell. I think both levity and linearity polymorphism
should be available under Safe Haskell.
Data.Kind already contains Constraint and Type.
-Krzysztof
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries