This thesis investigates the implementation of lazy functional programming languages on parallel machines using a novel approach to strictness analysis called "abstract demand propagation" and examines the impact of laziness on parallelism.Although some work on strictness analysis using demand propagation has been done before, the present work is original in that it gives a precise interpretation of the notions of demands and demand propagation using non-standard denotational semantics. The intuition behind the notion of (abstract) demand propagation is that it can be seen as a form of (abstract) inverse computation.This form of strictness analysis has been incorporated into a prototype compiler for a lazy variant of (a subset of) the Id fu...
iii Abstract This thesis demonstrates how to reduce the runtime of large non-strict functional progr...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
The usual technique for extracting parallelism from lazy functional languages is to use strictness a...
: is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry....
Functional languages can be enriched with logic variables to provide new computational features suc...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
In functional language implementation, there is a folklore belief that there is a conflict between i...
In this paper we present a debugging model for a lazy functional logic programming language whose se...
AbstractIn this paper we present the results of two pieces of work which, when combined, allow us to...
Projection analysis is a technique for finding out information about lazy functional programs. We sh...
This work investigates novel methods for improving the efficiency of evaluating lazy functional prog...
Concurrent logic languages have been traditionally executed in a "greedy" fashion, such th...
Functional logic languages combine lazy (demand-driven) evaluation strategies from functional progra...
iii Abstract This thesis demonstrates how to reduce the runtime of large non-strict functional progr...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
The usual technique for extracting parallelism from lazy functional languages is to use strictness a...
: is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry....
Functional languages can be enriched with logic variables to provide new computational features suc...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
In functional language implementation, there is a folklore belief that there is a conflict between i...
In this paper we present a debugging model for a lazy functional logic programming language whose se...
AbstractIn this paper we present the results of two pieces of work which, when combined, allow us to...
Projection analysis is a technique for finding out information about lazy functional programs. We sh...
This work investigates novel methods for improving the efficiency of evaluating lazy functional prog...
Concurrent logic languages have been traditionally executed in a "greedy" fashion, such th...
Functional logic languages combine lazy (demand-driven) evaluation strategies from functional progra...
iii Abstract This thesis demonstrates how to reduce the runtime of large non-strict functional progr...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...