Skip to content

Instantly share code, notes, and snippets.

@rblaze
Created February 18, 2017 21:55
Show Gist options
  • Save rblaze/871d84c655a7d32c96e7c031b080b19d to your computer and use it in GitHub Desktop.
Save rblaze/871d84c655a7d32c96e7c031b080b19d to your computer and use it in GitHub Desktop.
{-# Language TypeFamilies, StandaloneDeriving, GeneralizedNewtypeDeriving, UndecidableInstances #-}
module Example where
newtype N p m a = N (((CT p) m) a)
deriving instance (CT p ~ f, Functor (f m)) => Functor (N p m)
deriving instance (CT p ~ f, Applicative (f m)) => Applicative (N p m) -- internal error when this line added
class C p where
type CT p :: (* -> *) -> * -> *
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment