2011
DOI: 10.1007/978-3-642-20775-4_2
|View full text |Cite
|
Sign up to set email alerts
|

Transforming Functional Logic Programs into Monadic Functional Programs

Abstract: Abstract. We present a high-level transformation scheme to translate lazy functional logic programs into pure Haskell programs. This transformation is based on a recent proposal to efficiently implement lazy non-deterministic computations in Haskell into monadic style. We build on this work and define a systematic method to transform lazy functional logic programs into monadic programs with explicit sharing. This results in a transformation scheme which produces high-level and flexible target code. For instanc… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0

Year Published

2011
2011
2019
2019

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 7 publications
(17 citation statements)
references
References 19 publications
0
17
0
Order By: Relevance
“…Our benchmarks show that an efficient implementation by compiling into a functional language depends on carefully handling the sharing of non-deterministic choices. For instance, our previous implementation [13], where sharing is explicitly managed by the monadic techniques proposed in [19], has not satisfied the expectations that came from the benchmarks reported in [19]. Due to these experiences, in our new compiler we use the compilation scheme initially proposed in [12] which produces much faster code, as shown in our benchmarks.…”
Section: Conclusion and Related Workmentioning
confidence: 93%
See 3 more Smart Citations
“…Our benchmarks show that an efficient implementation by compiling into a functional language depends on carefully handling the sharing of non-deterministic choices. For instance, our previous implementation [13], where sharing is explicitly managed by the monadic techniques proposed in [19], has not satisfied the expectations that came from the benchmarks reported in [19]. Due to these experiences, in our new compiler we use the compilation scheme initially proposed in [12] which produces much faster code, as shown in our benchmarks.…”
Section: Conclusion and Related Workmentioning
confidence: 93%
“…PAKCS has been used for a number of practical applications of Curry. Another mature implementation we consider is MCC [32] (Version 0.9.10) which compiles Curry into C. MonC [13] is a compiler from Curry into Haskell. It is based on a monadic representation of non-deterministic computations where sharing is explicitly managed by the technique proposed in [19].…”
Section: Benchmarksmentioning
confidence: 99%
See 2 more Smart Citations
“…Also, and independently of its type, the local variable cannot be used within its own defining expression, which is an actual restriction compared to full Curry. 3 Logic programming features come into CuMin by certain primitives: Computations that always fail are represented by failure. In contrast to Curry, there are no explicit free variables.…”
Section: The Language Cuminmentioning
confidence: 99%