Skip to content

Commit

Permalink
Update Background.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Thorium authored Nov 21, 2024
1 parent edfc8c8 commit 1e705ee
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions docsSrc/Explanations/Background.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ Where a standard list (IEnumerable) is pull-based, IObservable is a push-based (
If Nullable is just "a list of 0 or 1", then async-await could be just an IObservable of 0 or 1.

There are many advantages of using reactive programming and Rx:
  - Manual thread/lock -handling can be avoided
  - No temporary class variables to capture the current or some previous state
  - Testing is easy: generate lists like they would be event-lists.
  - Testing the wrong async event order is easy.
  - Also, testing long-duration workflows is easy as you can "fake" time passing

 - Manual thread/lock -handling can be avoided
 - No temporary class variables to capture the current or some previous state
 - Testing is easy: generate lists like they would be event-lists.
 - Testing the wrong async event order is easy.
 - Also, testing long-duration workflows is easy as you can "fake" time passing

It's always good to have alternatives, and if R3 is your alternative to Rx, then `FSharp.Control.R3` is your F# wrapper, like `FSharp.Control.Reactive` F#.

0 comments on commit 1e705ee

Please sign in to comment.