|
ABSTRACT
We propose a new definition and use of a primitive getAllValues, for computing all the values of a non-deterministic expression in a functional logic program. Our proposal restricts the validity of the argument of getAllValues. This restriction ensures that essential language features like the call-time choice semantics, the independence of the order of evaluation, and the referential transparency of the language are preserved when getAllValues is executed. Up to now, conflicts between these language features and primitives like getAllValues have been seen as one of the main problems for employing such primitives in functional logic languages.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
E. Albert, M. Hanus, F. Huch, J. Oliver, and G. Vidal. Operational semantics for declarative multi-paradigm languages. Journal of Symbolic Computation, 40(1):795--829, 2005.
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
S. Antoy. Evaluation strategies for functional logic programming. Journal of Symbolic Computation, 40(1):875--903, 2005.
|
| |
6
|
S. Antoy, D. Brown, and S. Chiang. Lazy context cloning for non-deterministic graph rewriting. In Proc. of the 3rd International Workshop on Term Graph Rewriting, Termgraph'06, pages 61--70, Vienna, Austria, April 2006. Extended version to appear in ENTCS.
|
| |
7
|
S. Antoy, D. Brown, and S. Chiang. On the correctness of bubbling. In F. Pfenning, editor, 17th International Conference on Rewriting Techniques and Applications (RTA'06). Springer, 2006.
|
| |
8
|
S. Antoy, R. Echahed, and M. Hanus. Parallel evaluation strategies for functional logic languages. In Proceedings of the 14th International Conference on Logic Programming (ICLP'97), pages 138--152, Leuven, Belgium, July 1997.
|
| |
9
|
S. Antoy and M. Hanus. Overlapping rules and logic variables in functional logic programs. In Twenty Second International Conference on Logic Programming, pages 87--101, Seattle, WA, Aug. 2006. Springer LNCS 4079.
|
| |
10
|
|
| |
11
|
|
| |
12
|
B. Braßel, M. Hanus, and F. Huch. Encapsulating non-determinism in functional logic computations. Journal of Functional and Logic Programming, 2004(6), 2004.
|
 |
13
|
|
| |
14
|
|
| |
15
|
R. Echahed and J. -C. Janodet. On constructor-based graph rewriting systems. Research Report 985-I, IMAG, 1997. Available at http://citeseer.ist.psu.edu/echahed97constructorbased.html.
|
| |
16
|
J. C. González Moreno, F. J. López Fraguas, M. T. Hortalá González, and M. Rodríguez Artalejo. An approach to declarative programming based on a rewriting logic. The Journal of Logic Programming, 40:47--87, 1999.
|
| |
17
|
M. Hanus (ed.). Curry: An integrated functional logic language (vers.0.8.2). Available at http://www.informatik.uni-kiel.de/~ curry, March 28, 2006.
|
| |
18
|
M. Hanus (ed.). PAKCS 1.7.3: The Portland Aachen Kiel Curry System. Available at http://www.informatik.uni-kiel.de/~pakcs, Sept. 4, 2006.
|
| |
19
|
|
| |
20
|
|
| |
21
|
W. Lux. An abstract machine for the efficient implementation of Curry. In H. Kuchen, editor, Workshop on Functional and Logic Programming, Arbeitsbericht No. 63. Institut für Wirtschaftsinformatik, Universität Münster, 1998.
|
| |
22
|
|
| |
23
|
|
| |
24
|
|
| |
25
|
Uday S. Reddy. Narrowing as the operational semantics of functional languages. In Proceedings of the IEEE International Symposium on Logic in Computer Science, pages 138--151, Boston, 1985.
|
| |
26
|
|
| |
27
|
|
|