Difference between revisions of "Lub"

From HaskellWiki
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 <hask>unamb</hask> operator but has a more liberal precondition.
+
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 [https://github.com/conal/lub code repository].
 
<!-- * See the [[lub/Versions| version history]]. -->
 
<!-- * See the [[lub/Versions| version history]]. -->
 
<!-- Please leave comments at the [[Talk:lub|Talk page]]. -->
   
 
I got inspired for this package after [http://tunes.org/~nef/logs/haskell/08.11.17 stimulating discussions] with Thomas Davie, Russell O'Connor and others in the #haskell gang.
Please leave comments at the [[Talk:lub|Talk page]].
 
 
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.
 

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:

I got inspired for this package after stimulating discussions with Thomas Davie, Russell O'Connor and others in the #haskell gang.