next up previous
Next: Introduction

A Type-based Nondeterminism Analysis for Functional Logic Languagesgif

Michael Hanus      Frank Steiner
RWTH Aachen, Informatik II, D-52056 Aachen, Germany
Phone: +49-241/80-21230, Fax: +49-241/8888-217
hanus@informatik.rwth-aachen.de    steiner@informatik.rwth-aachen.de

Abstract:

Functional logic languages combine nondeterministic search facilities of logic languages with features of functional languages, e.g., monadic I/O to provide a declarative method to deal with I/O actions. Unfortunately, monadic I/O cannot be used in programs which split the computation due to nondeterministic reductions. This problem can be avoided if nondeterministic computations are encapsulated by search operators which are available, for instance, in the multi-paradigm language Curry. To support the programmer in identifying nondeterministic parts of a program, we propose a program analysis based on a type and effect system that will find every possible source of nondeterminism. Additionally, such information can be exploited in compilers to optimize deterministically reducible parts of a program.




next up previous
Next: Introduction

F. Steiner
Sat Sep 4 22:03:32 MEST 1999