The art of Prolog: advanced programming techniques
The art of Prolog: advanced programming techniques
Simple operational and denotational semantics for Prolog with cut
Theoretical Computer Science - Special issue on the Second French-Soviet Workshop on Methods of Compilation and Program Construction, Nice, France, Feb. 1988
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
An introduction to functional programming
An introduction to functional programming
Handbook of theoretical computer science (vol. B)
Notions of computation and monads
Information and Computation
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation Semantics for PROLOG with Cut
TAPSOFT '89/CAAP '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 1: Advanced Seminar on Foundations of Innovative Software Development I and Colloquium on Trees in Algebra and Programming
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
A Language Prototyping Tool Based on Semantic Building Blocks
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
ACM SIGPLAN Notices
Searching for deadlocks while debugging concurrent haskell programs
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Relating models of backtracking
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
THEORETICAL PEARL Church numerals, twice!
Journal of Functional Programming
Backtracking, interleaving, and terminating monad transformers: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
On the static and dynamic extents of delimited continuations
Science of Computer Programming
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Programming monads operationally with Unimo
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Inductive reasoning about effectful data types
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A functional-logic library for wired
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Journal of Functional Programming
The Arrow Calculus as a Quantum Programming Language
WoLLIC '09 Proceedings of the 16th International Workshop on Logic, Language, Information and Computation
Embedded Probabilistic Programming
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Purely functional lazy non-deterministic programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Kleene monads: handling iteration in a framework of generic effects
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Stepwise evaluation of attribute grammars
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
From functional logic programs to purely functional programs preserving laziness
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Monatron: an extensible monad transformer library
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Soutei, a logic-based trust-management system
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Kan extensions for program optimisation or: art and dan explain an old trick
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Extensible effects: an alternative to monad transformers
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Hi-index | 0.00 |
In a paper about pretty printing J. Hughes introduced two fundamental techniques for deriving programs from their specification, where a specification consists of a signature and properties that the operations of the signature are required to satisfy. Briefly, the first technique, the term implementation, represents the operations by terms and works by defining a mapping from operations to observations --- this mapping can be seen as defining a simple interpreter. The second, the context-passing implementation, represents operations as functions from their calling context to observations. We apply both techniques to derive a backtracking monad transformer that adds backtracking to an arbitrary monad. In addition to the usual backtracking operations --- failure and nondeterministic choice --- the prolog cut and an operation for delimiting the effect of a cut are supported.