scispace - formally typeset
Book ChapterDOI

Miranda: a non-strict functional language with polymorphic types

TLDR
The use of abstract data types in the LCF system has been studied in this article, where Gordon et al. show that many of the data types which in other languages would have to be expressed as Abstract Data Types can be expressed in Miranda as algebraic data types with associated laws.
Abstract
data types Many of the data types which in other languages would have to be expressed as abstract data types can be represented in Miranda as algebraic data types with associated laws. Nevertheless there is still a need for abstract data types, as may be seen from the following example (which is based on a use of abstract data types in the LCF system [Gordon et al 79]).

read more

Content maybe subject to copyright    Report

Citations
More filters
Book

Algorithmic skeletons : structured management of parallel computation

TL;DR: This book introduces a new approach to the design and implementation of software systems which will help users of large scale parallel systems coordinate many concurrent activities toward a single goal and proposes a selection of independent algorithmic skeletons which describes the structure of a particular style of algorithm.
Journal ArticleDOI

Report on the programming language Haskell: a non-strict, purely functional language version 1.2

TL;DR: In this paper, a half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous, and since some of our fellow sinners are among the most careful and competent logicians on the contemporary scene, we regard this as evidence that the subject is refractory.
Proceedings ArticleDOI

How to make ad-hoc polymorphism less ad hoc

TL;DR: Type classes extend the Hindley/Milner polymorphic type system, and provide a new approach to issues that arise in object-oriented programming, bounded type quantification, and abstract data types.
Proceedings ArticleDOI

Theorems for free

TL;DR: From the type of a polymorphic function the authors can derive a theorem that it satisfies, courtesy of Reynolds’ abstraction theorem for the polymorphic lambda calculus, which provides a free source of useful theorems.
Journal ArticleDOI

Deforestation: transforming programs to eliminate trees

TL;DR: The algorithm applies to any term containing only functions with definitions in a given syntactic form, and is suitable for incorporation in an optimizing compiler.
References
More filters
Journal ArticleDOI

A theory of type polymorphism in programming

TL;DR: This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline.
Journal ArticleDOI

The Mechanical Evaluation of Expressions

P. J. Landin
- 01 Jan 1964 - 
TL;DR: It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write.
Proceedings ArticleDOI

HOPE: An experimental applicative language

TL;DR: An applicative language called HOPE is described and discussed, to produce a very simple programming language which encourages the construction of clear and manipulable programs.
Journal ArticleDOI

Proving Properties of Programs by Structural Induction

TL;DR: Some syntactic extensions to Landin's functional programming language ISWIM are suggested which make it easier to program the manipulation of data structures and to develop proofs about such programs.
Proceedings ArticleDOI

Modules for standard ML

TL;DR: The module facility described here has been proposed as part of the revised language, now called Standard ML, to facilitate the structuring of large ML programs and to employ new ideas in the semantics of data types to extend the power of ML's polymorphic type system.