From HaskellWiki
Jump to navigation Jump to search


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.