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 |
Name | Order | Citations | PageRank |
---|---|---|---|
R M Burstall | 1 | 1280 | 360.41 |
David B. MacQueen | 2 | 381 | 158.96 |
donald sannella | 3 | 249 | 74.85 |