Personal tools

Lub

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(new)
 
(Abstract: repo link fix)
 
(2 intermediate revisions by one 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]]. -->
   
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.
 

Latest revision as of 21:38, 4 February 2014


[edit] 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.