All notable changes to this project will be documented in this file.
- Introduced
replaceRelay
andreplaceRelayS
. PR #27 (new) - Fix:
Control.Monad.forever
causes<<loop>>
#23 (bug-fix) - Switched to hpack format for package description, see hpack
documentation for more details.
Cabal file is still provided, but it is generated from
package.yaml
. (change) - Coroutines can now return values when they are done. This affects only the
Done
constructor ofStatus
data type. PR #25 (breaking-change) - Introduced new handler
interposeC
forYield
effect (coroutines), and helper function namedreplyC
. PR #25 (new) - Introduced
Fresh
effect handlersrunFresh
andevalFresh
. FunctionrunFresh'
was deprecated in favour ofevalFresh
. PR #24 (new, change) - Introduced
raise
to weaken an effect stack. PR #41 (new)
0.3.0.1 (April 16, 2017)
- Relax
hlint
version bounds and disablehlint
tests in non-developer builds. #31
0.3.0.0 (March 06, 2017)
- Package renamed to
freer-effects
to distinguish it from originalfreer
. #4 - Fix
Could not deduce: effs ~ (r : rs)
that may occur when using aMember
contraint (a regression introduced in 0.2.4.0) freer!12 - Add
runNatS
convenience function freer!13 - Add
evalState
andexecState
convenience functions freer!14 - Data constructors of
Yield
,CutFalse
,Fresh
,State
andTrace
are now exposed in addition toExc
,Reader
andWriter
- Generalised type signature of
asks
. #7 - Renamed modules
Data.Open.Union.*
toData.OpenUnion.*
. #8 NonDetEff
separated into its own module and renamed toNonDet
. #11- Reimplement
Union
using http://okmij.org/ftp/Haskell/extensible/OpenUnion51.hs as a basis. #14 - Renamed
Teletype
example DSL toConsole
.
0.2.4.1 (November 25, 2016)
- Restore GHC (7.8, 7.10) compatibility
- Internal reorg
- In particular, hide implementation details in Union.Internal
- Rewrite interpreters in terms of
extract
instead ofdecomp
- Add
runNat
convenience function
- Add GHC 8 support
- Use local
data Nat
forData.Open.Union
- Using GHC.TypeLits lead to overlapping instances
- Document ALL THE THINGS
- Add bench suite
- Add test suite
- Clean up language extensions per file
- Add Teletype DSL to the README
- Add Teletype DSL example
- Expose
send
in public interface
- Implement NonDetEff
- Separate Cut/Coroutine out from Internals
- Partial implementation: won't compile yet
- Extract remaining examples from Internal comments
- Warnings clean up
- Examples separated from primary implementation
- Initial project documentation added
- Initial release