Proposal: GHC.Generics marked UNSAFE for SafeHaskell

José Pedro Magalhães dreixel
Tue Oct 8 07:48:51 UTC 2013


Hi,

On Mon, Oct 7, 2013 at 10:32 AM, Dag Odenhall <dag.odenhall at gmail.com>wrote:

> Here?s a thought: doesn?t Generic already have an unused phantom type
> that's only there ?just in case we need to add something in the future??
>
No, it doesn't.

Just a thought: what if we had a type family

type family Derives (t :: k1) (c :: k2) :: Bool

which would automatically be instantiated by GHC appropriately? E.g., if
the user had the following code:

data MyData = MyData deriving (Eq, Generic)
deriving instance Show MyData
instance Ord MyData

GHC would automatically instantiate:

type instance Derives MyData Eq      = True
type instance Derives MyData Generic = True
type instance Derives MyData Show    = True
type instance Derives MyData Ord     = False

Would this be something Ryan could use for detecting safe instances for
LVish?


Cheers,
Pedro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131008/307f7185/attachment.html>



More information about the ghc-devs mailing list