This chapter initially considers pure lazy functional languages: their philosophy, advantages and disadvantages. We then examine how to develop efficient lazy functional programs. One way to achieve efficiency is to introduce impurities. In the final section the
|
496
|
S.: The Implementation of Functional Programming Languages
– Jones
- 1987
|
|
368
|
Testing for the consecutive ones property, interval graphs, and planarity using PQ-tree algorithms
– Booth, Lueker
- 1976
|
|
281
|
Parallel algorithms for shared-memory machines
– Karp, Ramachandran
- 1990
|
|
246
|
Why Functional Programming Matters
– Hughes
- 1989
|
|
215
|
Report on the Programming Language Haskell, A Non-strict, Purely Functional Language
– Hudak, Jones, et al.
- 1992
|
|
168
|
Efficient planarity testing
– Hopcroft, Tarjan
- 1974
|
|
114
|
Graph types
– Klarlund, Schwartzbach
- 1993
|
|
101
|
Elements of Functional Programming
– Reade
- 1989
|
|
96
|
Lazy functional state threads
– Launchbury, Jones
- 1997
|
|
63
|
Functional Programming Using Standard ML
– Wikstrom
- 1987
|
|
59
|
Mechanical program analysis
– Wegbreit
- 1975
|
|
58
|
A lazy evaluator
– Henderson, Jr
- 1976
|
|
58
|
The design and implementation of programming languages
– Hughes
- 1983
|
|
54
|
An experimental applicative language
– Hope
- 1980
|
|
46
|
Implementing Functional Languages, A Tutorial
– Jones, Lester
- 1992
|
|
46
|
Id (version 90.0) reference manual
– Nikhil
- 1990
|
|
38
|
A na"ive time analysis and its theory of cost equivalence
– Sands
- 1995
|
|
30
|
Lazy imperative programming
– Launchbury
- 1993
|
|
30
|
Strictness analysis aids time analysis
– Wadler
- 1988
|
|
29
|
A synthesis of several sorting algorithms
– Darlington
- 1978
|
|
25
|
The Implementation of Functional Languages using Custom Hardware
– Stoye
- 1985
|
|
23
|
A Compositional Approach to Time Analysis of First Order Lazy Functional Programs
– Bjerner, Holmstrom
- 1989
|
|
19
|
Permutation generation methods
– Sedgewick
- 1977
|
|
19
|
Fixing Some Space Leaks without a Garbage Collector
– Sparud
- 1993
|
|
18
|
A depth-first-search characterization of planarity
– Fraysseix, Rosenstiehl
- 1982
|
|
18
|
Fixing some space leaks with a garbage collector
– Wadler
- 1987
|
|
15
|
Elementary Topology
– Hall, Spencer
- 1955
|
|
15
|
Strictness detection in non-flat domains
– Hughes
- 1985
|
|
13
|
The Concatenate Vanishes
– Wadler
- 1987
|
|
11
|
Parallel algorithms for depth-first searches I. planar graphs
– Smith
- 1986
|
|
10
|
Manipulating multilinked data structures in a pure functional language
– Burton, Yang
- 1990
|
|
10
|
Implementation and programming techniques for functional languages
– Wray
- 1986
|
|
8
|
Graph algorithms = iteration + data structures? The structure of graph algorithms and a style of programming
– Erwig
- 1992
|
|
8
|
A Logarithmic Implementation of Flexible Arrays
– Hoogerwoord
- 1992
|
|
8
|
Graph algorithms in a lazy functional programming language
– Kashiwagi, Wise
- 1991
|
|
8
|
Heap profiling of a lazy functional compiler
– Runciman, Wakeling
- 1992
|
|
8
|
Comparative Programming Languages
– Wilson, B
- 1988
|
|
7
|
Encapsulating non-determinacy in an abstract data type with determinate semantics
– Burton
- 1991
|
|
6
|
Are applicative languages inefficient
– Ponder, McGeer, et al.
- 1988
|
|
5
|
An indeterminate constructor for applicative programming
– Friedman, Wise
- 1980
|
|
5
|
Lazy depth-first search and linear graph algorithms in Haskell
– King, Launchbury
- 1994
|
|
5
|
Profiling Lazy Functional Languages
– Sansom
- 1992
|
|
5
|
Algorithm design
– Tarjan
- 1987
|
|
5
|
A study of sparse matrix representations for solving linear systems in a functional language
– Wainwright, Sexton
- 1992
|
|
5
|
Introduction to Graph Theory. Longman Scientific
– Wilson
- 1987
|
|
4
|
Complexity analysis of programs in type theory. Programming Methodology
– Bjerner
- 1987
|
|
4
|
Functional graph algorithms with depth-first search
– King
- 1993
|
|
4
|
On Imbedding Graphs in the Sphere
– Auslander, Parter
- 1961
|
|
3
|
Tip in haskell --- another exercise in functional programming
– Runciman
- 1991
|
|
3
|
Heap profiling of lazy functional languages
– Runciman, Wakeling
- 1993
|