Difference between revisions of "Lub"
Jump to navigation
Jump to search
(new) |
(→Abstract: repo link fix) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Packages]] |
[[Category:Packages]] |
||
+ | [[Category:Concurrency]] |
||
== Abstract == |
== Abstract == |
||
Lub is an experiment in computing least upper information bounds on (partially defined) functional values. |
Lub is an experiment in computing least upper information bounds on (partially defined) functional values. |
||
− | It provides a <hask>lub</hask> function that is consistent with the |
+ | It provides a <hask>lub</hask> function that is consistent with the [[unamb]] operator but has a more liberal precondition. |
− | Where <hask>unamb</hask> requires its arguments to equal when neither is bottom, <hask>lub</hask> is able to synthesize a value from the partial information contained in both of its arguments. |
+ | Where <hask>unamb</hask> requires its arguments to equal when neither is bottom, <hask>lub</hask> 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: |
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. |
* Visit the [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/lub Hackage page] for library documentation and to download & install. |
||
* Or install with <tt>cabal install lub</tt>. |
* Or install with <tt>cabal install lub</tt>. |
||
− | * Get the |
+ | * Get the [https://github.com/conal/lub code repository]. |
<!-- * See the [[lub/Versions| version history]]. --> |
<!-- * See the [[lub/Versions| version history]]. --> |
||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
⚫ |
Latest revision as of 21:38, 4 February 2014
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 Merging partial values
- Visit the Hackage page for library documentation and to download & install.
- Or install with cabal install lub.
- Get the code repository.
I got inspired for this package after stimulating discussions with Thomas Davie, Russell O'Connor and others in the #haskell gang.