A Functional Programming environment supporting execution, partial execution and transformation

12Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

The Functional Programming Section in the Department of Computing at Imperial College has been conducting research aimed at making practical the theoretical benefits inherent in pure functional programming, i.e. more expressive programming languages, software development based on formal program derivation and parallel execution. This work has led to, amongst other things, language design and implementation, the development of some of the earliest program transformation systems and the construction of ALICE, a parallel graph reduction machine. Recently some of this work has been carried forward within the Flagship project. Flagship is a collaborative project, funded under the United Kingdom's Alvey Programme and running from 1986 until early 1989. The partners involved are ICL (International Computers Limited), Imperial College and Manchester University. Flagship's overall goal is to develop an integrated application development and execution technology based on declarative programming languages (both functional and logic). Imperial College's contribution involves language design and implementation and the construction of a program development technology and associated tools based on the idea of correctness-preserving program transformations. This has led to the development of a range of transformation technologies for functional programming languages and the implementation of a programming environment that supports these technologies. Details of the transformation technologies themselves have been published elsewhere and so they are only summarised here. In this paper we will concentrate on the integration of these technologies into the programming environment. First we describe our functional language, Hope+, and introduce an extension to the language that allows the use of logical variables. We then briefly describe each of the transformation technologies that have been developed. Next we show how these are integrated into an environment that supports transformational programming. We give some examples of transformational developments conducted in the environment and show the preliminary results of experiments conducted in developing program forms suitable for efficient execution on ALICE and the Flagship parallel machine. We conclude with a review of the current state of our activities, a discussion of the implications of our work and an outline of our plans for the future.

Cite

CITATION STYLE

APA

Darlington, J., Harrison, P., Khoshnevisan, H., McLoughlin, L., Perry, N., Pull, H., … Wright, S. (1989). A Functional Programming environment supporting execution, partial execution and transformation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 365 LNCS, pp. 286–305). Springer Verlag. https://doi.org/10.1007/3540512845_46

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free