├── .gitignore ├── README.md └── notes ├── reactiveprog └── reactivefun │ └── src │ ├── generators │ └── Generator.scala │ ├── week1 │ ├── Tree.scala │ └── treegenerator.sc │ ├── week2 │ ├── BankAccount.scala │ ├── Circuits.scala │ ├── Gates.scala │ ├── Parameters.scala │ ├── Simulation.scala │ ├── account.sc │ └── test.sc │ └── week3 │ └── scratchpad.sc ├── week-1 ├── 001-whats-reactive-programming.md ├── 002-recap-functions-and-pattern-matching.md ├── 003-functional-random-generators.md └── 004-monads.md ├── week-2 ├── 001-functions-and-state.md ├── 002-identity-and-change.md ├── 003-loops.md ├── 004-extended-example-discrete-event-simulation.md ├── 005-discrete-event-simulation-api-and-usage.md └── 006-discrete-event-simulation-implementation.md ├── week-3 ├── 001-monads-and-effects.md ├── 002-latency-as-an-effect.md ├── 003-combinators-on-futures.md ├── 004-composing-futures.md └── 005-promises.md ├── week-4 ├── 001-from-futures-to-observables.md ├── 002-basic-combinators-on-observable-collections.md ├── 003-subscriptions.md ├── 004-creating-observable-streams.md └── 005-schedulers.md └── week-5 └── 001-introduction-why-actors.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/README.md -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/generators/Generator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/generators/Generator.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week1/Tree.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week1/Tree.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week1/treegenerator.sc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week1/treegenerator.sc -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/BankAccount.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/BankAccount.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/Circuits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/Circuits.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/Gates.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/Gates.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/Parameters.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/Parameters.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/Simulation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/Simulation.scala -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/account.sc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/account.sc -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week2/test.sc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/reactiveprog/reactivefun/src/week2/test.sc -------------------------------------------------------------------------------- /notes/reactiveprog/reactivefun/src/week3/scratchpad.sc: -------------------------------------------------------------------------------- 1 | package week3 2 | 3 | object scratchpad { 4 | 5 | } -------------------------------------------------------------------------------- /notes/week-1/001-whats-reactive-programming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-1/001-whats-reactive-programming.md -------------------------------------------------------------------------------- /notes/week-1/002-recap-functions-and-pattern-matching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-1/002-recap-functions-and-pattern-matching.md -------------------------------------------------------------------------------- /notes/week-1/003-functional-random-generators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-1/003-functional-random-generators.md -------------------------------------------------------------------------------- /notes/week-1/004-monads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-1/004-monads.md -------------------------------------------------------------------------------- /notes/week-2/001-functions-and-state.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/001-functions-and-state.md -------------------------------------------------------------------------------- /notes/week-2/002-identity-and-change.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/002-identity-and-change.md -------------------------------------------------------------------------------- /notes/week-2/003-loops.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/003-loops.md -------------------------------------------------------------------------------- /notes/week-2/004-extended-example-discrete-event-simulation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/004-extended-example-discrete-event-simulation.md -------------------------------------------------------------------------------- /notes/week-2/005-discrete-event-simulation-api-and-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/005-discrete-event-simulation-api-and-usage.md -------------------------------------------------------------------------------- /notes/week-2/006-discrete-event-simulation-implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-2/006-discrete-event-simulation-implementation.md -------------------------------------------------------------------------------- /notes/week-3/001-monads-and-effects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-3/001-monads-and-effects.md -------------------------------------------------------------------------------- /notes/week-3/002-latency-as-an-effect.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-3/002-latency-as-an-effect.md -------------------------------------------------------------------------------- /notes/week-3/003-combinators-on-futures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-3/003-combinators-on-futures.md -------------------------------------------------------------------------------- /notes/week-3/004-composing-futures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-3/004-composing-futures.md -------------------------------------------------------------------------------- /notes/week-3/005-promises.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-3/005-promises.md -------------------------------------------------------------------------------- /notes/week-4/001-from-futures-to-observables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-4/001-from-futures-to-observables.md -------------------------------------------------------------------------------- /notes/week-4/002-basic-combinators-on-observable-collections.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-4/002-basic-combinators-on-observable-collections.md -------------------------------------------------------------------------------- /notes/week-4/003-subscriptions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-4/003-subscriptions.md -------------------------------------------------------------------------------- /notes/week-4/004-creating-observable-streams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-4/004-creating-observable-streams.md -------------------------------------------------------------------------------- /notes/week-4/005-schedulers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-4/005-schedulers.md -------------------------------------------------------------------------------- /notes/week-5/001-introduction-why-actors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iirvine/principles-of-reactive-programming/HEAD/notes/week-5/001-introduction-why-actors.md --------------------------------------------------------------------------------