Personal tools

Lub

From HaskellWiki

(Difference between revisions)
Jump to: navigation, 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 <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 code repository: <tt>darcs get http://code.haskell.org/lub</tt>.
 
<!-- * See the [[lub/Versions| version history]]. -->
 
<!-- * See the [[lub/Versions| version history]]. -->
+
<!-- Please leave comments at the [[Talk:lub|Talk page]]. -->
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.
 
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:

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