@INPROCEEDINGS{BrasselFischerHanusReck11Transform, author = "Bra{\ss}el, B. and Fischer, S. and Hanus, M. and Reck, F.", title = "Transforming Functional Logic Programs into Monadic Functional Programs", year = "2011", booktitle = "Proc.\ of the 19th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2010)", pages = {30-47}, publisher = {Springer LNCS 6559}, 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. } }