Monad (and transformer) for delayed-effect "pure" prompt-and-response queries.
Allows you to specify programs that might query a database, talk to stdio, etc., without ever involving IO or opening the door to arbitrary IO. Write a potentially pure computation describing prompting interactions, etc., without having your type actually do any IO or involve itself with IO or any effectful context.
Useful as a source of "things from IO", without ever actually involving IO or arbitrary IO itself; only executing a specific subset of IO (or State, etc.) that you yourself, the caller, specifies explicitly. Safer and more meaningful type.
For more information and instructions on usage with examples, see <https://github.com/mstksg/prompt the README>.
Not quite related to the /MonadPrompt/ library.