This paper describes implementation of monads in logic programming. In a monadic library we had to solve problems concerning higher-order code, free variables, and non-directionality of data flow.
A special syntax (do-notation) is introduced.