Clara Segura

Learn More
Eden is a parallel functional language which extends Haskell with new expressions to define and instantiate processes. These extensions allow the easy definition of parallel process topologies as higher order functions. Unfortunately, by only using process abstractions and instantiations it is not possible to implement non-hierarchical topologies, as(More)
The paper presents several analyses to detect non-determin-istic expressions in the parallel-functional language Eden. First, the need for the analysis is motivated, and then each one is presented. The rst one is type-based, while the other two are based on abstract interpretation. Their power and eeciency is discussed, and an example is used to illustrate(More)
We describe automatic bypassing, a desirable optimization of Eden's implementation aimed at reducing the number of messages and/or threads at runtime. Eden BLOMP97] extends the lazy functional language Haskell with a set of coordination features, aimed to express parallel algorithms. These include process abstractions (or process schemes) and process(More)
Maude has revealed as a powerful tool for implementing different kinds of semantics so that quick prototypes are available for trying examples and proving properties. In this paper we show how to define in Maude two semantics for Cardelli's Ambient Calculus. The first one is the operational (reduction) semantics which requires the definition of Maude(More)
We present a sharing analysis for the functional language Safe. This is a first-order eager language with facilities for programmer-controlled destruction and copying of data structures. It provides also regions, i.e. disjoint parts of the heap where the programmer may allocate data structures. The analysis gives upper approximations to the sets of(More)
We present a destruction-aware type system for the functional language <i>Safe</i>, which is a first-order eager language with facilities for programmer controlled destruction and copying of data structures. It provides also <i>regions</i>, i.e. disjoint parts of the heap, where the program allocates data structures. The runtime system does not need a(More)
Eden is a parallel extension of Haskell allowing the programmer to explicitly specify which expressions must be evaluated as parallel processes. Eden is implemented by modifying the Glasgow Haskell Compiler (GHC). This decision has saved a lot of work but has also produced some drawbacks: Some optimizing transformations done by GHC are not convenient for(More)
Safe is a first-order eager language with facilities for programmer controlled destruction and copying of data structures. It provides also regions, i.e. disjoint parts of the heap, where the program allocates data structures. The runtime system does not need a garbage collector and all allocation/deallocation actions are done in constant time. The language(More)
Safe is a first-order functional language with an implicit region-based memory system and explicit destruction of heap cells. Its static analysis for inferring regions, and a type system guaranteeing the absence of dangling pointers have been presented elsewhere. In this paper we present a new analysis aimed at inferring upper bounds for heap and stack(More)