Detection and optimization of functional computations in Prolog
Proceedings on Third international conference on logic programming
Improving the execution speed of compiled prolog with modes, clause selection, and determinism
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
Why functional programming matters
Research topics in functional programming
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Towards lazy evaluation, sharing, and non-determinism in resolution based functional logic languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Dynamic detection of determinism in functional logic languages
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
ACM Computing Surveys (CSUR)
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Herbrand constraint solving in HAL
Proceedings of the 1999 international conference on Logic programming
Journal of the ACM (JACM)
Type-based nondeterminism checking in functional logic programs
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Principles of Program Analysis
Principles of Program Analysis
A Functional Logic Programming Approach to Graphical User Interfaces
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
High-Level Server Side Web Scripting in Curry
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Functional Logic Design Patterns
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Controlling Search in Declarative Programs
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Higher-order narrowing with definitional trees
Journal of Functional Programming
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
Semantic Determinism and Functional Logic Program Properties
Electronic Notes in Theoretical Computer Science (ENTCS)
A modular and generic analysis server system for functional logic programs
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Information about the nondeterminism behavior of a functional logic program is important for various reasons. For instance, a nondeterministic choice in I/O operations results in a run-time error. Thus, it is desirable to ensure at compile time that a given program is not going to crash in this way. Furthermore, knowledge about nondeterminism can be exploited to optimize programs. In particular, if functional logic programs are compiled to target languages without builtin support for nondeterministic computations, the transformation can be much simpler if it is known that the source program is deterministic. In this paper we present a nondeterminism analysis of functional logic programs in form of a type/effect system. We present a type inferencer to approximate the nondeterminism behavior via nonstandard types and show its correctness w.r.t. the operational semantics of functional logic programs. The type inference is based on a new compact representation of sets of types and effects.