by Pieter H. Hartel, Willem G. Vree
2nd Arrays, functional languages, and parallel systems (ATABLE
ftp://ftp.wins.uva.nl/pub/computer-systems/functional/reports/ATABLE92_fft.ps.Z
Add To MetaCart
Abstract:
The array plays a prominent role in imperative programming languages because the data structure bears a close resemblance to the mathematical notion of a vector and because array operations can be implemented efficiently. Not all lazy functional languages offer arrays as a primitive data structure because laziness makes it difficult to implement arrays efficiently. We study 8 different versions of the Fast Fourier Transform, with and without arrays, to assess the importance of arrays in a lazy functional language. An efficient implementation of arrays contributes significantly to the performance of functional languages in certain areas. However, a clear distinction should be made between array construction and array subscription. In the FFT example we could not gain efficiency by using array construction, other than for storing precomputed data like the input. Using array subscription improves performance. 1
Citations
|
694
|
Parallel Program Design: A Foundation
– Chandy, Misra
- 1988
|
|
496
|
S.: The Implementation of Functional Programming Languages
– Jones
- 1987
|
|
289
|
Tukey, “An algorithm for the machine calculation of complex Fourier series
– Cooley, W
- 1965
|
|
108
|
Numerical Recipes: The Art of Scientific Computing (Cambridge
– Press, Flannery, et al.
- 1989
|
|
65
|
editors. Report on the Programming Language Haskell 98, A Non-strict Purely Functional Language
– Jones, Hughes
- 1999
|
|
29
|
Update analysis and the efficient implementation of functional aggregates
– Bloss
- 1989
|
|
20
|
Compilation of Functional Languages using Flow Graph Analysis
– Hartel, Glaser, et al.
- 1994
|
|
11
|
On the benefits of different analyses in the compilation of functional languages
– Hartel, Glaser, et al.
- 1991
|
|
10
|
system manual
– Miranda
- 1990
|
|
5
|
Functional programming and the language TALE
– Barendregt, Leeuwen
- 1985
|
|
3
|
Performance of lazy combinator graph reduction
– Hartel
- 1991
|
|
3
|
Performance of lazy combinator graph reduction. Software---practice and experience
– Hartel
- 1991
|