You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Fri, 1 May 2020, 12:26 Georgi Lyubenov, ***@***.***> wrote:
With a declaration like this:
-- intended to always be used with a type applicationdata Eff m a where
Stuff :: forall ty. Int -> Eff m (F ty)
type family F ty where
...
makeSem generates non-compiling declarations.
I'm guessing it generates something like this:
stuff :: forall ty r. Member Eff r => Int -> Sem r (F ty)
stuff x = send $ Stuff x
but ghc can't figure out that the ty from Stuff invocation is the same as
the ty in the forall.
Instead we need something like this:
stuff :: forall ty r. Member Eff r => Int -> Sem r (F ty)
stuff x = send $ Stuff @ty x
but who knows if this breaks something else :/
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#339>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE2SULI3X3OQCQ2WXHKFUMDRPKWW5ANCNFSM4MXBFRCQ>
.
With a declaration like this:
makeSem
generates non-compiling declarations.I'm guessing it generates something like this:
but
ghc
can't figure out that thety
from theforall
is the one I want to use forty
in theStuff
invocation.Instead we need something like this:
but who knows if this breaks something else :/
The text was updated successfully, but these errors were encountered: