do_returnfunction which was previously used to support returning values from
@dofunctions is now deprecated. In Python 3, we can just use
🐎 The very last bare-
except:clause was removed from the Effect library, meaning that KeyboardInterrupt and SystemExit should no longer be swallowed by effect performance.
🚀 This is a major backwards-incompatible release of Effect.
👻 Everywhere that
exc_infotuples were previously used for exceptions, now we simply use Exception instances.
exc_infotuples were only necessary on Python 2, because Exception objects did not carry their tracebacks. Now, on Python 3, tracebacks are embedded in the Exception instance, so we don't need to worry about that old three-tuple.
👍 This means that Effect 1.0 only supports Python 3 and up (officially, only 3.6 and up are supported).
v0.12.0December 01, 2018
- ➕ Added effect.io, which gives intents for representing print and raw_input-style interactions
- The Func intent now accepts _args and *_kwargs to pass through to the function, and which are compared on
__eq__, to make testing easier.
effect.raise_is a convenience function to raise an exception instance.
lambda i: None, and is intended to be used in
effect.perform_delay_with_sleepis a new performer that performs
Delayintents by sleeping.
- The exceptions raised from
perform_sequencehave more informative output.
- ➕ Added a code of conduct
- Added two new testing utilities in effect.testing: perform_sequence and parallel_sequence, which make using using and debugging SequenceDispatcher much nicer.
- On Python 3, you can now use the
returnstatement to return values from functions using
🐛 Bug fixes:
- 🛠 Fixed a bug where
@dowould not propagate StopIteration exceptions
- 🛠 Fixed a bug that prevented
@sync_performer-decorated functions from accepting keyword arguments
- 📚 Many documentation improvements
v0.9June 08, 2015
v0.1a18May 09, 2015
v0.1.a18May 09, 2015
v0.1.a17April 24, 2015