|
ABSTRACT
In what does the alleged superiority of applicative languages consist? In the last analysis the answer must be in terms of the reduction in the time required to produce a correct program to solve a given problem. On reflection I decided that the best way to demonstrate this would be to take some reasonably non-trivial problem and show how, by proceeding within a certain kind of applicative language framework it was possible to develop a working solution with a fraction of the effort that would have been necessary in a conventional imperative language. The particular problem I have chosen also brings out a number of general points of interest which I shall discuss briefly afterwards. Before proceeding it will be necessary for me to quickly outline the language framework within which we shall be working. Very briefly it can be summarised as (non-strict, higher order) recursion equations + set abstraction. Obviously what matters are the underlying semantic concepts, not the particular syntax that is used to express them, but for the sake of definiteness I shall use the notation of KRC (&equil; “Kent RecUrsive Calculator”), an applicative programming system implemented at the University of Kent [Turner 81]. KRC is fairly closely based on the earlier language SASL, [Turner 763, but I have added a facility for set abstraction.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
"Applications of program transformation to program synthesis" Proceedings conference on proving and improving programs, Arc et Senans 1975
|
| |
2
|
"A synthesis of several sorting algorithms" Acta Informatica 1979
|
| |
3
|
"Memo-functions - a language feature with role learning properties"# in EXPERIMENTAL PROGRAMMING 1966-7,| Edinburgh University, Dept. of Machine Intelligence and Perception, January 1968
|
| |
4
|
"SASL Language Manual", St. Andrews University Technical Report, December 1976
|
| |
5
|
"KRC Language Manual", University of Kent (in preparation)
|
| |
6
|
D.Phil.Thesis, Oxford University 1981
|
CITED BY 25
|
|
B. Goldberg , P. Hudak, Implementing functional programs on a hypercube multiprocessor, Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues, p.489-504, January 19-20, 1988, Pasadena, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bharat Jayaraman , Frank S. K. Silbermann, Equations, sets, and reduction semantics for functional and logic programming, Proceedings of the 1986 ACM conference on LISP and functional programming, p.320-331, August 1986, Cambridge, Massachusetts, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Paul Hudak , John Hughes , Simon Peyton Jones , Philip Wadler, A history of Haskell: being lazy with class, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.12-1-12-55, June 09-10, 2007, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|