/hareactive

Pure FRP library for the web.

Primary LanguageTypeScriptMIT LicenseMIT

Hareactive

A pure FRP library for JavaScript with the following features/goals:

  • Precise semantics similar to classic FRP (the semantics is WIP see here)
  • Support for continuous time for performant and expressive declaration of time-dependent behavior and motions.
  • Splendid performance
  • Monadic IO integrated with FRP for expressing side-effects in an expressive and testable way that utilizes FRP for powerful handling of asynchronous operations.

Build Status codecov

Contributing

Install dependencies.

npm install

Run tests.

npm test

Running the tests will generate an HTML coverage report in ./coverage/.

Continuously run the tests with

npm run test-watch

Benchmark

Get set up to running the benchmarks:

npm run build
./benchmark/prepare-benchmarks.sh

Run a single benchmark with:

node benchmark/<name-of-benchmark>

Example

node benchmark/scan.suite

To run all benchmarks:

npm run bench