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.
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:
- Read the blog post Merging partial values
- Visit the Hackage page for library documentation and to download & install.
- Or install with cabal install lub.
- Get the code repository.
I got inspired for this package after stimulating discussions with Thomas Davie, Russell O'Connor and others in the #haskell gang.