Releases: rzeigler/waveguide
v1.4.0
- Merge pull request #18 from werk85/race-monoid a5c5424
- getRaceMonoid added to Wave and WaveR 6814304
- Redirect to matches-effect in readme. 60e6695
- One final cleanup pass. b54e8ea
- A few more doc cleanups. a2ec7d1
- Merge branch 'master' of github.com:rzeigler/waveguide f683075
- Clean up docs. 320166e
- Merge pull request #17 from kyusu/patch-1 d1069f5
- Remove duplicate "tutorial" from link 4cb9306
v1.3.0
v1.1.0
v1.0.0
v1.0.0-rc.3
v1.0.0-rc.2
This release improves the Deferred api to allow proxying aborts and general exits through.
I Fought The R And The R Won
With this release the API is now frozen baring any changes to fix defects.
The final 1.0.0 will be done once waveguide-stream, waveguide-node, and waveguide-browser are prototyped to ensure there is nothing obviously missing.
This release have a number of notable changes, chiefly, the run loop no longer manages R parameters. Attempting to make it do so was an exercise in frustration because typescript by default treats anything that is not a function input as covariant but we want the R to be contravariant.
As a simplified example that illustrates the problem
const oops: RIO<{}, never, string> = raiseAbort("will break anyway") as RIO<string, never, string>
As such, I have bifurcated the hierarchy into IO and RIO which is just a Reader on top of IO.
The Reader variant still has all the useful fiber and concurrency powers of IO however.
Other notable changes
- IO renamed to Wave (since the whole API is changed anyway, we can differentiate on names)
- RIO renamed to WaveR
- Resource renamed to Managed (and loses it R parameters)
- Managed renamed to ManagedR
- Fiber now has a FiberR variant which is equivalent to the Fiber API but using
{}
as the R - Semaphore now has SemaphoreR which is equivalent to Semaphore but using
{}
as the R - console module now has logR variants in
WaveR<R = {}, never, void>
v1.0.0-14
Eliminates the attempt to automatically encode co/contra variance of RIO.
It hugely complicates the type signatures and seems to result in weird situations.
Also eliminates the attempt at GADT encoding of the Free type.
Instead, its just a functor
- Prepare for next pre-1.0.0 release 3fdfdca