Hey, that's an awesome formulation! Thanks Pedro. Any idea how much work this would be to implement in GHC, if it did garner approval? On Tue, Oct 8, 2013 at 3:48 AM, José Pedro Magalhães <dreixel@gmail.com>wrote:
Hi,
On Mon, Oct 7, 2013 at 10:32 AM, Dag Odenhall <dag.odenhall@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
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs