Backtracking, interleaving, and terminating monad transformers: (functional pearl)

@inproceedings{Kiselyov2005BacktrackingIA,
  title={Backtracking, interleaving, and terminating monad transformers: (functional pearl)},
  author={O. Kiselyov and C. Shan and D. Friedman and A. Sabry},
  booktitle={ICFP '05},
  year={2005}
}
  • O. Kiselyov, C. Shan, +1 author A. Sabry
  • Published in ICFP '05 2005
  • Computer Science
  • We design and implement a library for adding backtracking computations to any Haskell monad. Inspired by logic programming, our library provides, in addition to the operations required by the MonadPlus interface, constructs for fair disjunctions, fair conjunctions, conditionals, pruning, and an expressive top-level interface. Implementing these additional constructs is easy in models of backtracking based on streams, but not known to be possible in continuation-based models. We show that all… CONTINUE READING
    107 Citations
    Inductive reasoning about effectful data types
    • 17
    • Highly Influenced
    • PDF
    Freer monads, more extensible effects
    • 66
    • PDF
    Eilenberg-Moore Monoids and Backtracking Monad Transformers
    • 8
    • PDF
    Lazy evaluation and delimited control
    • 34
    • PDF
    Purely functional lazy nondeterministic programming
    • 33
    • PDF
    A monadic framework for delimited continuations
    • 75
    • PDF
    Pure, Declarative, and Constructive Arithmetic Relations (Declarative Pearl)
    • 23
    • PDF
    Functional pearl: a smart view on datatypes
    • 4
    • PDF
    Purely functional lazy non-deterministic programming
    • 33
    • PDF

    References

    SHOWING 1-8 OF 8 REFERENCES
    Deriving backtracking monad transformers
    • 89
    • Highly Influential
    Combinators for breadth-first search
    • J. Spivey
    • Computer Science
    • J. Funct. Program.
    • 2000
    • 25
    • Highly Influential
    Continuation Semantics for PROLOG with Cut
    • 33
    • Highly Influential
    • PDF
    Pruning in Logic Programming
    • 16
    • Highly Influential
    Relating models of backtracking
    • 28
    • Highly Influential
    • PDF
    First Class Patterns
    • 24
    • Highly Influential
    A Basis for a Mathematical Theory of Computation1)
    • 305
    • Highly Influential
    • PDF
    A MonadPlusT with fair operations and pruning. http://www.haskell.org/pipermail/haskell/2005-June/ 016037.html
    • 2005