Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming 2014
DOI: 10.1145/2643135.2643145
|View full text |Cite
|
Sign up to set email alerts
|

Heuristics Entwined with Handlers Combined

Abstract: A long-standing problem in logic programming is how to cleanly separate logic and control. While solutions exist, they fall short in one of two ways: some are too intrusive, because they require significant changes to Prolog's underlying implementation; others are lacking a clean semantic grounding. We resolve both of these issues in this paper.We derive a solution that is both lightweight and principled. We do so by starting from a functional specification of Prolog based on monads, and extend this with the e… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2015
2015
2023
2023

Publication Types

Select...
5
2
1

Relationship

6
2

Authors

Journals

citations
Cited by 13 publications
(7 citation statements)
references
References 42 publications
0
7
0
Order By: Relevance
“…Kammar et al [9] briefly sketch an implementation based on delimited continuations. Schrijvers et al [17] show the equivalence between a delimited continuations approach and the inductive datatype; hence the fusion technique presented in this paper is in principle possible. However, in practice, the codensity monad used for fusion is likely not efficient in strict languages.…”
Section: Effect Handlersmentioning
confidence: 84%
See 1 more Smart Citation
“…Kammar et al [9] briefly sketch an implementation based on delimited continuations. Schrijvers et al [17] show the equivalence between a delimited continuations approach and the inductive datatype; hence the fusion technique presented in this paper is in principle possible. However, in practice, the codensity monad used for fusion is likely not efficient in strict languages.…”
Section: Effect Handlersmentioning
confidence: 84%
“…Both Atkey et al [1] and Schrijvers et al [17] study the interleaving of a free monad with an arbitrary monad, i.e., the combination of algebraic effect handlers and conventional monadic effects. We believe that our fusion technique can be adapted for optimizing the free monad aspect of their settings.…”
Section: Effect Handlersmentioning
confidence: 99%
“…An important instance of this construction is the ordinary resumption monad (Moggi 1989), also known as the free monad transformer: given any endofunctor F, the composition FM is a right module over M with δ = F µ (it is easy to verify that it is indeed a right module using string diagrams), and the generalised resumption monad instantiates to M(FM) * . This construction appears in functional programming (Piróg and Gibbons 2012;Schrijvers et al 2014) as FreeT f m, but it is not unquestionably trivial to prove that it is indeed a monad. However, using distributability and uniformity, we can reduce reasoning about the whole structure to reasoning about the local behaviour of the lifted natural transformation.…”
Section: Example: the Generalised Resumption Monadmentioning
confidence: 99%
“…Search Heuristics Schrijvers et al [18] construct a free monad transformer for the non-deterministic choice operator in order to expose the search tree structure and apply pruning heuristics. After pruning, the resulting search tree is reflected back into the underlying non-determinism monad.…”
Section: Applicationsmentioning
confidence: 99%