Results 1 
8 of
8
A Comparison between three Nondeterminism Analyses in ParallelFunctional Language
 IN PRIMERAS JORNADAS SOBRE PROGRAMACION Y LENGUAJES, PROLE'01
, 2001
"... The paper compares three analyses to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. This work extends ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The paper compares three analyses to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. This work extends
Correctness of Nondeterminism Analyses in a ParallelFunctional Language
, 2003
"... Abstract. The presence of nondeterminism in the parallelfunctional language Eden creates some problems. Several nondeterminism analyses have been developed to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. The correctness of these analyses had ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. The presence of nondeterminism in the parallelfunctional language Eden creates some problems. Several nondeterminism analyses have been developed to determine when an Eden expression is sure to be deterministic, and when it may be nondeterministic. The correctness of these analyses had not been proved yet. In this paper we de¯ne a \maximal " denotational semantics for Eden in the sense that the set of possible values produced by an expression is bigger than the actual one. This semantics is enough to prove the correctness of the analyses. We provide the abstraction and concretisation functions relating the concrete and abstract values so that the determinism property is adequately captured. Finally we prove the correctness of the analyses with respect to the previously de¯ned semantics. 1
Strictness Analysis and lettocase Transformation using Template Haskell ⋆
"... Metaprogramming consists of writing programs that generate or manipulate other programs. Template Haskell is a very recent extension of Haskell, currently implemented in the Glasgow Haskell Compiler, giving support to metaprogramming at compile time. Our aim is to apply these facilities in order to ..."
Abstract
 Add to MetaCart
(Show Context)
Metaprogramming consists of writing programs that generate or manipulate other programs. Template Haskell is a very recent extension of Haskell, currently implemented in the Glasgow Haskell Compiler, giving support to metaprogramming at compile time. Our aim is to apply these facilities in order to statically analyse programs and transform them at compile time. In this paper we use Template Haskell to implement an abstract interpretation based strictness analysis and a lettocase transformation that uses the results of the analysis. This work shows the usefulness of the tool in order to incorporate new analyses and transformations into the compiler without modifying it. 1
Implementing DynamicCut in T OY 1
"... Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be ..."
Abstract
 Add to MetaCart
(Show Context)
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be
A PolynomialCost Nondeterminism Analysis
, 2002
"... This paper is an extension of a previous work where two nondeterminism analyses were presented. One of them was ecient but not very powerful and the other one was more powerful but very expensive. Here, we develop an intermediate analysis in both aspects, eciency and power. The improvement in ecienc ..."
Abstract
 Add to MetaCart
This paper is an extension of a previous work where two nondeterminism analyses were presented. One of them was ecient but not very powerful and the other one was more powerful but very expensive. Here, we develop an intermediate analysis in both aspects, eciency and power. The improvement in eciency is obtained by speeding up the xpoint calculation by means of a widening operator, and the representation of functions through easily comparable signatures. Also details about the implementation and its cost are given. 1
Under consideration for publication in J. Functional Programming 1 Nondeterminism Analyses in a ParallelFunctional Language
"... The parallelfunctional language Eden has a nondeterministic construct, the process abstraction merge, which interleaves a set of input lists to produce a single nondeterministic list. Its nondeterministic behaviour is a consequence of its reactivity: it immediately copies to the output list any ..."
Abstract
 Add to MetaCart
The parallelfunctional language Eden has a nondeterministic construct, the process abstraction merge, which interleaves a set of input lists to produce a single nondeterministic list. Its nondeterministic 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 nondeterminism creates some problems such that some internal transformations in the compiler must be disallowed. The paper describes several nondeterminism 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. 1
WFLP 2006 Implementing DynamicCut in T OY 1
"... This paper presents the integration of the optimization known as dynamic cut within the functionallogic system T OY. The implementation automatically detects deterministic functions at compile time, and includes in the generated code the test for detecting at runtime the computations that can actu ..."
Abstract
 Add to MetaCart
(Show Context)
This paper presents the integration of the optimization known as dynamic cut within the functionallogic system T OY. The implementation automatically detects deterministic functions at compile time, and includes in the generated code the test for detecting at runtime the computations that can actually be pruned. The outcome is a much better performance when executing deterministic functions including either orbranches in their definitional trees or extra variables in their conditions, with no serious overhead in the rest of the computations. The paper also proves the correctness of the criterion used for detecting deterministic functions w.r.t. the semantic calculus CRWL.