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 in a 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 instance, the target code is parametric w.r.t. the concrete evaluation monad. Thus, different monad instances could, for example, define different search strategies (e.g., depth-first, breadth-first, parallel). We formally describe the basic compilation scheme and some useful extensions. |
Year | Venue | Keywords |
---|---|---|
2010 | WFLP | monadic program,lazy non-deterministic computation,lazy functional logic program,basic compilation scheme,concrete evaluation monad,transformation scheme,different search strategy,flexible target code,different monad instance,high-level transformation scheme,monadic functional program |
Field | DocType | Citations |
Programming language,Computer science,Theoretical computer science,Parametric statistics,Haskell,Declarative programming,Type constructor,Monad (functional programming),Computation | Conference | 7 |
PageRank | References | Authors |
0.48 | 19 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Bernd Braßel | 1 | 181 | 12.47 |
Sebastian Fischer | 2 | 74 | 5.07 |
Michael Hanus | 3 | 707 | 45.18 |
Fabian Reck | 4 | 45 | 3.40 |