Changelog for auto-0.4.3.1
0.4.3.1
https://github.com/mstksg/auto/releases/tag/v0.4.3.1
- Compatibility support for MonadRandom-0.5.
0.4.3.0
https://github.com/mstksg/auto/releases/tag/v0.4.3.0
- Control.Auto.Blip: New blip stream splitter
onEitherB, which splits an incoming blip stream into two output streams based on whether the emitted items resolve toLeftorRightwhen applied to the splitting function.
0.4.2.4
https://github.com/mstksg/auto/releases/tag/v0.4.2.4
- Control.Auto.Blip: New blip stream splitter
onEitherB, which splits an incoming blip stream into two output streams based on whether the emitted items resolve toLeftorRightwhen applied to the splitting function.
0.4.2.3
https://github.com/mstksg/auto/releases/tag/v0.4.2.3
- Control.Auto.Process.Random: Removed self-defeating
Seralizeconstraint on the seed parameter ofsealRandom_. - Control.Auto.Serialize: Fixed compiler warning on GHC 7.10 for redundant Applicative import.
0.4.2.2
https://github.com/mstksg/auto/releases/tag/v0.4.2.2
- Using the base-orphans library for a more sane compatibility layer than the previous method.
- Many documentation fixes including haddock reconfigurations on specific modules.
0.4.2.1
https://github.com/mstksg/auto/releases/tag/v0.4.2.1
DEPRECATED: Please use 0.4.2.2!
- Added support for building with GHC 7.6.x.
0.4.2.0
https://github.com/mstksg/auto/releases/tag/v0.4.2.0
- Removed all upper bounds on dependencies except for base.
- Control.Auto.Blip: Companions to
emitJustsandonJustsadded, forEither:emitEithersandonEithers. Emit every item inputted, but fork them into one of two output blit streams based onRightorLeftproperties. Only preserves blip semantics/makes sense if any given input'sRightorLeftness is expected to be independent from the last received one. - Control.Auto.Blip: New "blip stream collapsers",
asMaybesandsubstituteB.asMaybesturns a blip stream into a stream ofMaybes,Justwhen something was emitted, andNothingwhen not.substituteBtakes a regular stream and a blip stream, and outputs the values of the regular stream whenever the blip stream doesn't emit and the emitted value when it does --- basically a more powerful version offromBlips, where the "default" value now comes from a stream instead of being always the same. - Control.Auto.Blip: New blip stream creator,
collectN, which emits everynsteps with the lastnitems received. - Control.Auto.Blip: New blip stream modifiers,
collectBandcollectBs.collectBwaits on two blip streams and emits after it has received something from both.collectBsis likecollectN, except emits after everynemitted values received with the pastnemitted values. - Control.Auto.Collection: "Intervaled" counterparts to
muxandmuxMany,muxIandmuxManyI. They storeIntervals instead ofAutos...and when theIntervals turned "off", they are removed from the collection. - Control.Auto.Switch: A new "count-down" switcher,
switchIn, which acts a bit like(-->)and(-?>), except the switch happens deterministically after a pre-set given number of steps. Act like the firstAutofor a given number of steps, and then act like the second ever after. Basically a direct implementation of the commononFor n a1 --> a2idiom.
0.4.1.0
https://github.com/mstksg/auto/releases/tag/v0.4.1.0
-
Adapted to more consistent semantic versioning scheme, where the third number is a new update, and the fourth number is reserved for bug fixes.
-
Control.Auto.Blip:
foldrBandfoldlB'officially deprecated in their current forms. From version0.5, they will have corrected functionality and a new type signature. The current functionality doesn't really make sense, and was a mistake during their implementation. You can begin using the new versions now, with:foldrB = foldr (merge f) mempty foldlB' = foldl' (merge f) mempty -
Control.Auto.Effects: New "sealing" mechanisms for underlying
Reader:sealReaderMVarandsealReaderM.sealReaderMVarallows things like "hot swapping" configuration data; at every step, theAutoasks for its environment from anMVar, that could be changed/modified from a different thread with new configuration data.sealReaderMis a more general/potentially dangerous version where the environment is retrieved through an arbitrary action in the underlying monad. -
Control.Auto.Run: New powerful combinator
throughT, letting you "lift" anAutoto run over/through anyTraversable. Can replaceduring,perBlip,accelOverList, etc. The specialized versions will remain more performant, though. -
Control.Auto.Run: In the spirit of the hip and current Foldable Traversable Proposal,
overTraversableadded to complementoverList, so you can now "stream"Autos overIntMaps,Maybes,Consts...or anyTraversable. Not replacingoverListcompletely, though, for performance reasons. -
Control.Auto.Blip: Removed unnecessary
Monadconstraints onbecame_,became',noLonger_, andnoLonger'. -
Control.Auto.Interval: Bug fix on
holdForandholdFor_, where they had the potential to overflowIntand begin "holding" forever when given specifically malformed input. -
Control.Auto.Time: Performance boost on
accelOverListby using strictWriterover lazy.
0.4.0.0
https://github.com/mstksg/auto/releases/tag/v0.4.0.0
- Bug fix version reverting breaking changes from
0.3.0.0.0.4.xshould be able to run all0.2.xprograms with full backwards compatibility. - Control.Auto.Effects: Reverted back to lazy
StateTandWriterT, because of situations where auto cannot resolve fixed points for recursive bindings. - Control.Auto.Blip:
forkBrenamed tosplitBto prevent confusion with "fork", usually used in Haskell to refer to concurrency. Also anticipating adding concurrency-basedAutos, so this is a move to clear the way for any possible conflicts.
0.3.0.0
https://github.com/mstksg/auto/releases/tag/v0.3.0.0
DEPRECATED: Please use 0.4.0.0!
- Control.Auto.Effects: Breaking change: switched to strict
StateTandWriterT. - Control.Auto.Effects: Added
readerAandwriterA, for convenience in "creating"Autos underReaderTandWriterT; also addedstateAandaccumAfor completeness.
0.2.0.6
https://github.com/mstksg/auto/releases/tag/v0.2.0.6
- Control.Auto.Run: As a part of an effort to provide integration with
disciplined effectful streaming, introduced
streamAutoEffectsandtoEffectStream, which convertAuto m a b's to streams of effects inmthat can be processed and manipulated and integrated with anyListT-compatible library, like pipes. See documentation for more details. These were also added to the exports ofControl.Auto. - Control.Auto.Interval: New
AutoholdJusts, which stretches the last seen "on"/Justvalue over the duration of a "off"/Nothinginterval. - Documentation fixes to emphasize auto's focus on value streams, not effect streams, in contrast to pipes, conduit, etc.
- Version restrictions on some packages relaxed on profunctors, semigroups, and base.
0.2.0.5
https://github.com/mstksg/auto/releases/tag/v0.2.0.5
- Control.Auto.Process.Random: Added combinators and sealers dealing
for working with an underlying
RandorRandTmonad. - Because of this, committed to adding MonadRandom as a dependency.
0.2.0.4
https://github.com/mstksg/auto/releases/tag/v0.2.0.4
- Control.Auto: Added
unserialize,delay, anddelay_toControl.Auto's exports. - Control.Auto.Blip: New blip stream manipulator:
forkB, which forks a blip stream into to separate ones based on whether or not the emitted values match a predicate. - Control.Auto.Time: Added a generalized version of
stretch,stretchAccumBywhich allows access to the "skipped" inputs during the stretched periods, as well as the ability to control the outputs during the stretched periods.
0.2.0.3
https://github.com/mstksg/auto/releases/tag/v0.2.0.3
- Control.Auto.Collection: Bug for
dynZipFfixed, where newly addedAutos would overwrite ones alreay stored. - Control.Auto:
fromIntervaladded toControl.Auto's exports.
0.2.0.2
https://github.com/mstksg/auto/releases/tag/v0.2.0.2
DEPRECATED: Please use 0.2.0.3!
- Control.Auto.Collection:
dynZipFanddynMapF, implicit-serialization dynamic collections.
0.2.0.1
https://github.com/mstksg/auto/releases/tag/v0.2.0.1
- Control.Auto.Effects:
catchAadded toControl.Auto.Effects, allowing explicit catching of runtime exceptions thrown in underlyingIO.
0.2.0.0
https://github.com/mstksg/auto/releases/tag/v0.2.0.0
- First official release. No backwards-incompatible changes until
0.3.0.0.