Personal tools

Lub

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(new)
Current revision (04:09, 13 July 2010) (edit) (undo)
m (Abstract: added "and")
 
(One intermediate revision 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 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 and 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.
+

Current revision


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.