unamb: Unambiguous choice

[ bsd3, concurrency, data, library, other ] [ Propose Tags ]
Versions 0.0, 0.0.1, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.2, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.7
Dependencies base (==4.*), checkers, QuickCheck (>=2) [details]
License BSD-3-Clause
Copyright (c) 2008-2014 by Conal Elliott
Author Conal Elliott
Maintainer conal@conal.net
Category Concurrency, Data, Other
Home page http://haskell.org/haskellwiki/unamb
Source repo head: git clone git://github.com/conal/unamb.git
Uploaded by ConalElliott at Fri Mar 16 01:04:19 UTC 2018
Distributions FreeBSD:0.2.5, NixOS:0.2.7
Executables test-unamb
Downloads 6749 total (185 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-16 [all 1 reports]
Hackage Matrix CI

unamb contains the "unambiguous choice" operator unamb, which wraps thread racing up in a purely functional, semantically simple wrapper. Originally a part of Reactive, I moved unamb to its own package in order to encourage experimentation.

Note: unamb correctly implements lub (least upper bound) for flat types only. I suggest using the lub package instead of unamb.

Project wiki page: http://haskell.org/haskellwiki/unamb

© 2008-2014 by Conal Elliott; BSD3 license.

Contributions from: Luke Palmer, Spencer Janssen, Sterling Clover, Bertram Felgenhauer, Peter Verswyvelen, Svein Ove Aas, and Edward Kmett. Please let me know if I've forgotten to list you.





Enable testing


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees