[[Category:Packages]]
[[Category:Concurrency]]
== Abstract ==
Lub is an experiment in computing least upper information bounds on (partially defined) functional values.
It provides a lub function that is consistent with the [[unamb]] operator but has a more liberal precondition.
Where unamb requires its arguments to equal when neither is bottom, lub is able to synthesize a value from the partial information contained in both of its arguments, which is useful with non-flat types.
Besides this wiki page, here are more ways to find out about lub:
* Read the blog post ''[http://conal.net/blog/posts/merging-partial-values/ Merging partial values]''
* Visit the [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/lub Hackage page] for library documentation and to download & install.
* Or install with cabal install lub.
* Get the code repository: darcs get http://code.haskell.org/lub.
I got inspired for this package after [http://tunes.org/~nef/logs/haskell/08.11.17 stimulating discussions] with Thomas Davie, Russell O'Connor others in the #haskell gang.