Related Work
We acknowledge the hard work and incredible contributions from all the projects below.
- Cybernetics describes the “closed signaling loop”, the essence of Unidirectional Data Flow architectures (aka MVI or Model View Intent).
- Redux (and Flux) are popular Javascript state management frameworks organized around Unidirectional Data Flow. There are similar implementations for different platforms
- re-frame/Clojure. Unidirectional Data Flow for Clojurescript
- Functional Reactive Programming (FRP) is not new.
- ReactiveX is a popular reactive programming implementation for many different imperative languages.
- Mobius is another take on Unidirectional Data Flow for the Android platform.
- Observers aren’t new.
- Cycle.js Javascript reactive library.
- MobX Javascript reactive library.
- REScala Scala reactive library
- Apple’s Combine.
- Java Flow.
- State Charts(pdf).
- X State, state chart library.
- Event Bus/Pub-Sub is a pattern for building reactive style architectures.
- Elm, an elegant functional programming language for the web.
- Eve, an innovative language with reactive blocks of code.
- Flapjax language.
- Designware: Software Development by Refinement (pdf), this paper presents ideas for building a system through composition.
- Data flow programming (pdf) is not new.
- Incremental.
- Temporal Logic.
- Reactive Imperative Programming with Dataflow Constraints. In this paper the authors build a very similar bipartite data flow dependency graph.
- Garnet and Amulet (pdf) are toolkits for developing software using similar data flow techniques.
- Picturing Quantum Processes.
- An Invitation to Applied Category Theory.