We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
If free is accepting via there are quite a few instances that can be derived
via
data Free.Final.Alt f a = .. deriving (Semigroup, Monoid) via Data.Monoid.Alt (Free.Final.Alt f) a
data Free.Alt f a = .. deriving (Semigroup, Monoid) via Data.Monoid.Alt (Free.Final.Alt f) a deriving (Functor, Applicative, Alternative) via Compose [] (AltF f)
newtype Trans.Free.ApT f g a = .. deriving (Functor, Applicative, Alternative) via Compose g (Trans.Free.ApF f g)
In any case I'm curious if there is any way we can derive the Free instances that isn't completely trivial.
Free
The text was updated successfully, but these errors were encountered:
Oh I guess Functor is attainable with this completely useless derivation
Functor
newtype F f a = F { runF :: forall r. (a -> r) -> (f r -> r) -> r } deriving Functor via Ran Identity (Monster f) newtype Monster f r = Monster ((f r -> r) -> r)
Sorry, something went wrong.
No branches or pull requests
If free is accepting
via
there are quite a few instances that can be derivedIn any case I'm curious if there is any way we can derive the
Free
instances that isn't completely trivial.The text was updated successfully, but these errors were encountered: