#redo #undo #merge #redux #actions


Software without side-effects. Redo and Undo. Macro’s.

3 releases (breaking)

✓ Uses Rust 2018 edition

0.2.0 Dec 18, 2018
0.1.0 Aug 6, 2018
0.0.1 Aug 5, 2018

#418 in Data structures

21 downloads per month

MIT license

274 lines


Latest Version Actions License

Beware, this library is pretty beta right now. See it as a proof of concept at this stage.

Key features

Read more about these key features here!.

Software without side-effects

  • Reduces the risk of bugs
  • Code becomes modular!
    • An element/struct can be taken out without any issues, no worries about what it affects: it only affects things it owns
  • Without side-effects it is much easier to reason about the code and what it does.

Redo and Undo

Undo and redo functionality is an essential requirement for a lot of software. Users heavily rely on it.

Creating a Chain of actions

For example, if you are writing an editor for a game-engine. Whenever the user saves, the current chain could be compressed an stored to the drive (where size matters). It could then be used to show the differences between saves to the user (the minimal single actions required to get to the new state: "You moved this object", etc.).

Getting Started

You can find the tutorials here!.

Please help!

There are so many ways you can help:

  • Implement this library in practice and report what about the API and the documention is unclear or can be improved
  • If you feel this library misses a feature, please open an issue!
  • Fix bugs which will probably appear in the library :)
  • If you still not sure how to help, open an issue


Open an issue at GitHub!

No runtime deps