- Pick up minor fixes for State
- Pick up minor fixes for Maybe and Writer
- Added
Maybe - Added
Reader - Added
Writer
- Split out into individual libraries.
- Cleaned up and simplified namespacing.
- Types now are in
akh.Typeand ``akh.TypeT` - Core methods are now in top level
akh.next
- Types now are in
- Added
m.run()instance methods to all types.
- Added
EitherT.runEitherTandEither.runEitherto extract either values without needing to pass in callback functions. - Updated some internal structures to make it more clear that some values are private.
- Fixed exec state returning value instead of state.
- Made sure all code uses modern Khepri.
- Split interfaces into own files.
akh::spec::*. - Autolifting of state
getputandmodifyin most base types. - Added
Codensitymonad. - Removed trampoline.
- Split StateT into two files.
akh::trans::statehas the main, stack safe impl which auto wraps in aCodensity.akh::trans::stateihas the actual impl, which is stack unsafe but should be used in stacks so as not to dup theCodensitylogic.
- Performance improvements though recompile with khepri V0.23.0
- Performance improvements though recompile with khepri V0.21.13.
- Added
base::liftAandbase::liftA2to lift to an applicative. - Added derived applicative operation
acthat curriesfwith the argumenta.
- Fixed derived types of
mapandapon monad using functions instead of methods.
- Removed one extra function call per each chain/concat/map/ap.
structuresnow expect the method version of binary functions.
- Transformers expose their inner type with
innersince there is no type system to recover this information. - Transforming and Transformer will generated have an additional method
liftInneron the output to lift from the inner Transformer's inner to the outer transformer.liftInnercan be chained to lift multiple levels.var M = StateT (StateT (StateT (StateT Identity)))); // Lift get from inner most state. M.liftInner.liftInner(M.inner.inner.inner.get);
- Fixed
Uniquepossibly blowing up stack for large computations.
- Allow
UniqueTto be passed a seed value. - Fixed
IdentityTconcat.
- Added
IdentityTto transform a monad to itself. - Added
Trampolinemonad. - More work on call stack.
- Fixed call stack on
EitherTandErrorT. - Performance improvements.
- Fixed call stack on
StateT.
- Fixed
ContT.liftandDContT.lift.
- Temp fix for call stack on
ContTandDContT.- Wrap other structures for long running computations in
ContT.
- Wrap other structures for long running computations in
- Added State.modify.
- Added
IdentityT. - Added top level generic versions of ops in base that determine type using argument.
- Split out DContT's unique id the logic to its own monad and transformer.
- Added
EitherT. - Added
ErrorT - Added
Either - Added
Error.
- Fixed #5 nu-stream not included.
- Added applicative functor to all monads using derived interfaces (thanks joneshf).
- Added AMD files.
- Fixed
Identityusing old import. Identityas functor.ContTandContas functor.DContTandDContas functor.ListTandListas functor.StateTandStateas functor.
- Initial release.