Releases: polysemy-research/polysemy
Releases · polysemy-research/polysemy
v1.8.0.0
1.8.0.0 (2022-12-22)
Breaking Changes
- Removed
Polysemy.View
- Removed
Polysemy.Law
- Removed
(@)
and(@@)
fromPolysemy
- Removed
withLowerToIO
fromPolysemy
. UsewithWeavingToFinal
instead. - Removed
asyncToIO
andlowerAsync
fromPolysemy.Async
. Use
asyncToIOFinal
instead. - Removed
lowerEmbedded
fromPolysemy.IO
. UseembedToMonadIO
instead. - Removed
lowerError
fromPolysemy.Error
. UseerrorToIOFinal
instead. - Removed
resourceToIO
andlowerResource
fromPolysemy.Resource
. Use
resourceToIOFinal
instead. - Removed
runFixpoint
andrunFixpointM
fromPolysemy.Fixpoint
. Use
fixpointToFinal
instead. - Changed semantics of
errorToIOFinal
so that it no longer catches errors
from other handlers of the same type.
Other Changes
- Exposed
send
fromPolysemy
. - Dramatically improved build performance of projects when compiling with
-O2
. - Removed the debug
dump-core
flag. - Introduced the new meta-effect
Scoped
, which allows running an interpreter locally whose implementation is deferred
to a later stage.
v1.7.0.0
plugin-v0.4.2.0
Release polysemy-v1.7.0.0 and polysemy-plugin-v0.4.2.0
polysemy-plugin v0.4.1.0
The plugin will now use use knowledge of in-scope wanted constraints to help solve otherwise ambiguous Member
constraints. For example if we have Members [Embed IO, Embed Identity] r
in scope, and are trying to solve (Member (Embed m) r, MonadIO m)
, the plugin will choose m ~ IO
, because that is the only possible instantiation that would typecheck.