This Haskell package implements explicit sharing of monadic effects. Its most prominent application is probably the implementation of lazy non-determinism to emulate functional logic programming.
You can obtain the package from Hackage. If you have cabal-install you can simply type
cabal install explicit-sharing
to install it.
The tutorial introduction explains how to use the interface of the library for explicit sharing.
The application of this library to functional logic programming like advocated by the Curry language can be most easily grasped by example.
There is a paper that explains the ideas behind this package in depth.
The current interface differs from the original version.
The packages source code is on GitHub so you can create or vote on issues to ask for extensions or fork this project to write extensions yourself. I will happily merge your improvements and publish them as part of this package.
For questions or feedback contact .