Closed Avi-D-coder closed 5 years ago
Grr, yeah, I've had issues using makeSem_
. It is incredibly fussy about how you name the type variables. I had massaged the type signatures to the point that it all compiled at the time, but perhaps something has changed?
I'll look into it, because I really, really want to keep the uses of makeSem_
. Continuation effects are weird enough that the main methods need to be documented.
Are names defined in zoo going to be changed to fit the new guidelines?
How do people feel about it?
I'm all for changing interpreter names to fit the current standard. I.e. instead of runAsyncFinal
, you could do asyncToFinal
/asyncToIOFinal
. (Although the latter's perhaps not the best name, seeing as how the semantics of runAsyncFinal
is like lowerAsync
, and not asyncToIO
?)
I could create a pull request for changing the interpreter names for Final
and friends as well as the continuation effects.
I have (presumably) fixed the uses of makeSem_
and opened a pull request over at Avi-D-coder's with-polysemy-submodule
branch https://github.com/Avi-D-coder/polysemy-zoo/pull/1.
It's really weird. I figure it must be a difference between 8.6.3
(or 8.6.4
, which I use locally), and 8.6.5
, but I don't see anything in the release notes that would hint at the change.
On the plus side, this allows me to name the variables the way I originally wanted to, so that's nice.
@TheMatten mind syncing with people to figure out what's going on with makeSem_
here?
I'd like it if the names in this module rolled with the same convention as those in the main lib. I've been putting it off. Thanks for the PR!
@KingoftheHomeless @isovector it seems like reset
uses name from type constructor (a
) - use name from data constructor signature instead (s
)
Previously, I had to use a
when type annotating reset
to get it to compile, but that's no longer the case.
I have no idea why.
Have you tested with 8.6.3
(lts 13.0)? I can't do that since I'm on windows, and TH is broken on windows on 8.6.3
.
Well, there was a change in logic that collects info about effect GADTs - maybe you were working with version of polysemy
before this PR.
That may very well be it! In that case, we have nothing to worry about when it comes to compatibility.
This does not compile for me even with polysemy master. See This actually compiles.
3 of 4
makeSem_
produce errors like the following.Is the plugin active? Running
stack build --ghc-options='-fplugin=Polysemy.Plugin'
leads to the same error.