Difference between revisions of "Lub"
Jump to navigation
Jump to search
(new) |
(unamb link; blog post link) |
||
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 code repository: <tt>darcs get http://code.haskell.org/lub</tt>. |
* Get the code repository: <tt>darcs get http://code.haskell.org/lub</tt>. |
||
<!-- * See the [[lub/Versions| version history]]. --> |
<!-- * See the [[lub/Versions| version history]]. --> |
||
⚫ | |||
− | |||
⚫ | |||
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. |
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. |
Revision as of 21:34, 19 January 2009
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: darcs get http://code.haskell.org/lub.
I got inspired for this package after stimulating discussions with Thomas Davie, Russell O'Connor others in the #haskell gang.