The theory of strictness analysis for higher order functions
on Programs as data objects
Referential transparency, definiteness and unfoldability
Acta Informatica
Strictness and binding-time analyses: two for the price of one
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Non-determinism in functional languages
The Computer Journal - Special issue on formal methods: part 1
Abstract interpretation: a semantics-based tool for program analysis
Handbook of logic in computer science (vol. 4)
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
A transformation-based optimiser for Haskell
Science of Computer Programming - Special issue on the 6th European symposium on programming
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Approximate Fixed Points in Abstract Interpretation
ESOP '92 Proceedings of the 4th European Symposium on Programming
Binding Time Analysis for Polymorphically Typed Higher Order Languages
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
The Design of a Pretty-printing Library
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
DREAM: The DistRibuted Eden Abstract Machine
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
A Polynomial-Cost Non-determinism Analysis
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Expressing and Reasoning About Non-Deterministic Functional Programs
Proceedings of the 1989 Glasgow Workshop on Functional Programming
The Eden Coordination Model for Distributed Memory Systems
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Correctness of non-determinism analyses in a parallel-functional language
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Parallel functional programming in Eden
Journal of Functional Programming
Semantic Determinism and Functional Logic Program Properties
Electronic Notes in Theoretical Computer Science (ENTCS)
Using Template Haskell for Abstract Interpretation
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The parallel-functional language Eden has a non-deterministic construct, the process abstraction merge, which interleaves a set of input lists to produce a single non-deterministic list. Its non-deterministic behaviour is a consequence of its reactivity: it immediately copies to the output list any value appearing at any of the input lists. This feature is essential in reactive systems and very useful in some deterministic parallel algorithms. The presence of non-determinism creates some problems such that some internal transformations in the compiler must be disallowed. The paper describes several non-determinism analyses developed for Eden aimed at detecting the parts of the program that, even in the presence of a process merge, still exhibit a deterministic behaviour. A polynomial cost algorithm which annotates Eden expressions is described in detail. A denotational semantics is described for Eden and the correctness of all the analyses is proved with respect to this semantics.