A backtracking logic-programming monad.


Version on this page:
LTS Haskell 22.12:
Stackage Nightly 2024-02-27:
Latest on Hackage:

See all snapshots logict appears in

BSD-3-Clause licensed by Dan Doel
Maintained by Andrew Lelechenko
This version can be pinned in stack with:logict-,1535

Module documentation for

Depends on 2 packages(full list with versions):
Used by 2 packages in lts-16.31(full list with versions):

A continuation-based, backtracking, logic programming monad. An adaptation of the two-continuation implementation found in the paper "Backtracking, Interleaving, and Terminating Monad Transformers" available here: http://okmij.org/ftp/papers/LogicT.pdf


  • Support GHC 9.0.

  • Add Safe pragmas.

  • Fix MonadReader r (LogicT m) instance again.

  • Remove unlawful MonadLogic (Writer T w m) instances.
  • Fix MonadReader r (LogicT m) instance.
  • Move lnot into MonadLogic class.

  • Comply with MonadFail proposal.