The promotion and accumulation strategies in transformational programming
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Efficient demand-driven evaluation. Part 1
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
PARLOG: parallel programming in logic
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
APL function definition notation
APL '87 Proceedings of the international conference on APL: APL in transition
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Systems semantics: principles, applications, and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lazy evaluation and the logic variable
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Implementing functional programs on a hypercube multiprocessor
C3P Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1
Buckwheat: graph reduction on a shared-memory multiprocessor
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Conception, evolution, and application of functional programming languages
ACM Computing Surveys (CSUR)
SISAL versus FORTRAN: a comparison using the Livermore loops
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Two models for integrating persistence and lazy functional languages
ACM SIGPLAN Notices
Compiling machine-independent parallel programs
ACM SIGPLAN Notices
Connection Machine Lisp: fine-grained parallel symbolic processing
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Equations, sets, and reduction semantics for functional and logic programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Guest Editor Introduction: Functional Approach to Intelligent Information Systems
Journal of Intelligent Information Systems - Special issue on functional approach to intelligent information systems
The operational versus the conventional approach to software development
Communications of the ACM
GESTALT: an expressive database programming system
ACM SIGMOD Record
Consistency in Dataflow Graphs
IEEE Transactions on Parallel and Distributed Systems
A fixed-program machine for combinator expression evaluation
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Executing functional programs on a virtual tree of processors
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Term description: a simple powerful extension to prolog data structures
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 2
An introduction to Landin's "Getting Rid of Labels"
Higher-Order and Symbolic Computation
Bringing back monad comprehensions
Proceedings of the 4th ACM symposium on Haskell
Hi-index | 0.02 |
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.