StateT bug fix + monadic conditionals
Pre-release
Pre-release
- Fixed: a bug in the
StateTmonad-transformer. One of theSelectManyoverloads wasn't propagating the state correctly. - Changed:
Prelude.localthat creates a local IO and resource environment renamed tolocalIOto avoid conflicts withReaderT.localandReader.local - Added: general purpose
liftIOinPrelude - Added: variants of
whenandunlessthat take aK<M, bool>as the source of the flag. Means any monad that binds aboolcan be used directly inwhenandunless, rather than having to lower it first. - Added: new monadic conditional:
iff- works likewhenandunless, but has anelsecase.K<M, bool>can be used directly also, meaning that if/then/else monadic expressions can be built without lowering. - Added: applicative
actionsto thePrelude. Allows for chainingnapplicative actions, discarding their results, apart from the last one, which is returned