Title
HOPE: An experimental applicative language
Abstract
An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is felt to be an important simplification. The user may freely define his own data types, without the need to devise a complicated encoding in terms of low-level types. The language is very strongly typed, and as implemented it incorporates a typechecker which handles polymorphic types and overloaded operators. Functions are defined by a set of recursion equations; the left-hand side of each equation includes a pattern used to determine which equation to use for a given argument. The availability of arbitrary higher-order types allows functions to be defined which 'package' recursion. Lazily-evaluated lists are provided, allowing the use of infinite lists which could be used to provide interactive input/output and concurrency. HOPE also includes a simple modularisation facility which may be used to protect the implementation of an abstract data type.
Year
DOI
Venue
1980
10.1145/800087.802799
LISP Conference
Keywords
Field
DocType
simple programming language,lazily-evaluated list,simple modularisation facility,own data type,abstract data type,assignment statement,arbitrary higher-order type,experimental applicative language,recursion equation,applicative language,implementation effort,polymorphism,programming language,data type,higher order,input output
Abstract data type,Assignment,Programming language,Concurrency,Computer science,Theoretical computer science,Data type,Operator (computer programming),Recursion,Encoding (memory)
Conference
Citations 
PageRank 
References 
190
67.66
16
Authors
3
Search Limit
100190
Name
Order
Citations
PageRank
R M Burstall11280360.41
David B. MacQueen2381158.96
donald sannella324974.85