All Versions
27
Latest Version
Avg Release Cycle
40 days
Latest Release
1032 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.7.1.0 Changes
November 23, 2021Other Changes
- ๐ Support GHC 9.2.1
-
v1.7.0.0 Changes
November 16, 2021๐ฅ Breaking Changes
- โ Added interpreters for
AtomicState
that run in terms ofState
. - โ Removed
MemberWithError
- โ Removed
DefiningModule
Other Changes
- The internal
ElemOf
proof is now implemented as an unsafe integer, significantly cutting down on generated core. - Polysemy no longer emits custom type errors for ambiguous effect actions.
These have long been rendered moot by
polysemy-plugin
, and the cases that they still exist are usually overeager (and wrong.) - As a result, the core produced by
polysemy
is significantly smaller. Programs should see a reduction of ~20% in terms and types, and ~60% in coercions.
- โ Added interpreters for
-
v1.6.0.0 Changes
July 12, 2021๐ฅ Breaking Changes
- ๐ Deprecate
traceToIO
and replace it withtraceToStdout
andtraceToStderr
- ๐ Support GHC 9.0.1
Other Changes
- โ Added the combinator
insertAt
, which allows adding effects at a specified index into the effect stack - โ Added
Semigroup
andMonoid
forSem
- ๐ Deprecate
-
v1.5.0.0 Changes
March 30, 2021๐ฅ Breaking Changes
- โฌ๏ธ Dropped support for GHC 8.4
Other Changes
- โ Added
InterpretersFor
as a shorthand for interpreters consuming multiple effects - โ Added
runTSimple
andbindTSimple
, which are simplified variants ofrunT
andbindT
-
v1.4.0.0 Changes
October 31, 2020๐ฅ Breaking Changes
- โ Added
Polysemy.Async.cancel
to allow cancellingAsync
action (possible name collision) (#321, thanks to @aidangilmore)
Other Changes
- โ Added
Polysemy.Input.inputs
to mirrorPolysemy.Reader.asks
(#327, thanks to @expipiplus1) - โ Added
Polysemy.Resource.bracket_
(#335, thanks to @expipiplus1) - ๐ Support GHC 8.10.x (#337, #382)
- Restrict the existentially quantified monad in a
Weaving
toSem r
(#333, thanks to @A1kmm) - โ Added
raise2Under
andraise3Under
(#369) - โ Added
Raise
andSubsume
(#370) - ๐ Fixed memory leaks in
Applicative (Sem r)
methods (#372, thanks to @goertzenator) - ๐ Smaller suggestions and fixes (thanks to @jeremyschlatter, @galagora and @felixonmars)
- โ Added
-
v1.3.0.0 Changes
February 14, 2020๐ฅ Breaking Changes
- The semantics for
runNonDet
when<|>
is used inside a higher-order action of another effect has been reverted to that of 1.1.0.0 and earlier. (See issue #246) - Type parameters for
outputToTrace
have been rearranged (thanks to @juanpaucar)
Other Changes
- โ Added
Bundle
effect, for bundling multiple effects into a single one. - โ Added
Tagged
effect, for annotating and disambiguating identical effects. - โ Added
View
effect, anInput
-like effect for caching an expensive computation. - โ Added
fromException
/Via
andfromExceptionSem
/Via
- โ Added
note
- โ Added
catchJust
,try
andtryJust
(thanks to @bolt12) - Using
listen
withrunWriterTVar
orwriterToIO
will no longer delay writing until thelisten
completes. - โ Added
runStateSTRef
andstateToST
(thanks to @incertia) - โ Added
execState
andexecLazyState
(thanks to @tjweir) - โ Added
Polysemy.Law
, which offers machinery for creating laws for effects. - โ Added
Polysemy.Membership
for retrieving and making use of effect membership proofs.
- The semantics for
-
v1.2.3.0 Changes
October 29, 2019- Polysemy now works on GHC 8.8.1 (thanks to @googleson78 and @sevanspowell)
- Exported
MemberWithError
fromPolysemy
- โ Added
rewrite
andtransform
interpretation combinators
-
v1.2.2.0 Changes
October 22, 2019- ๐ Fixed a bug in
resourceToIO
andresourceToIOFinal
that prevented the finalizers from being called inBracketOnError
when the computation failed due to aSem
failure - โ Added
atomicGets
(thanks to @googleson78) - โ Added
sequenceConcurrently
toPolysemy.Async
(thanks to @spacekitteh)
- ๐ Fixed a bug in
-
v1.2.1.0 Changes
September 15, 2019- โ Added
InterpreterFor
(thanks to @bolt12) - โฌ๏ธ Bumped bounds for first-class-families
- โ Added
-
v1.2.0.0 Changes
September 04, 2019๐ฅ Breaking Changes
- ๐ All
lower-
interpreters have been deprecated, in favor of corresponding-Final
interpreters. - ๐
runFixpoint
andrunFixpointM
have been deprecated in favor offixpointToFinal
. - The semantics for
runNonDet
when<|>
is used inside a higher-order action of another effect has been changed. - Type variables for certain internal functions,
failToEmbed
, andatomicState'
have been rearranged.
Other changes
- โ Added
Final
effect, an effect for embedding higher-order actions in the final monad of the effect stack. Any interpreter should use this instead of requiring to be provided an explicit lowering function to the final monad. - โ Added
Strategy
environment for use together withFinal
- โ Added
asyncToIOFinal
, a better alternative oflowerAsync
- โ Added
errorToIOFinal
, a better alternative oflowerError
- โ Added
fixpointToFinal
, a better alternative ofrunFixpoint
andrunFixpointM
- โ Added
resourceToIOFinal
, a better alternative oflowerResource
- โ Added
outputToIOMonoid
andoutputToIOMonoidAssocR
- โ Added
stateToIO
- โ Added
atomicStateToIO
- โ Added
runWriterTVar
,writerToIOFinal
, andwriterToIOAssocRFinal
- โ Added
writerToEndoWriter
- โ Added
subsume
operation - ๐ฆ Exposed
raiseUnder
/2
/3
inPolysemy
- ๐ All