Skip to main content

Investigation of Performance Achievable with Highly Concurrent Interpretations of Functional Programs

Objective

This project investigated the functional programming approach for achieving an efficient exploitation of highly concurrent hardware architectures. This involved measurement of the complexity and parallelism of functional programs written in the FP, Lisp and Me-Too languages. The project aimed at:
-a tool for translating Lispkit and Me-Too to FP
-tools to provide a static measure of complexity and potential for parallelism of FP programs
-an emulator for the parallel execution of functional programs.
The project investigated the functional programming approach for achieving an efficient exploitation of highly concurrent hardware architectures. This involved measurement of the complexity and parallelism of functional programs written in the functional programming (FP), Lisp and Me-Too languages. The main successs of the project has been in the static analysis of concurrency. A theory of complexity and parallelism for functional programs was developed. This was supported by development of a complexity and parallelism analysis tool (CAT). This analysis was based on the FP language and included the use of abstract types in the language. Work on the parallel interpretation facility based on DACTYL was less successful. The output from this task was a study of machine architectures suitable for functional programs.
The main success of the project has been in the static analysis of concurrency. A theory of complexity and parallelism for functional programs was developed based on the previous work of the partners. This was supported by development of a complexity and parallelism analysis tool (CAT). This analysis was based on the FP language and included the use of abstract types in the language.
Work on the parallel interpretation facility based on DACTYL was less successful. The output from this task was a study of machine architectures suitable for functional programs.
Exploitation
The CAT tool is an early version of a new generation of programming tools for concurrent systems. The parallel architectures now becoming generally available require the development of such programming tools and methods to support applications programming.

Coordinator

STC Technology Ltd
Address
London Road
CM17 9NA Harlow
United Kingdom

Participants (3)

CAP GEMINI INNOVATION
France
Address
118 Rue De Tocqueville
75017 Paris
Institut National de Recherches en Informatique et en Automatique (INRIA)
France
Address
Campus Universitaire De Beaulieu Avenue Du Général Leclerc
35042 Rennes
University of Stirling
United Kingdom
Address

FK9 4LA Stirling