Benchmarking implementations of lazy functional languages

Five implementations of different lazy functional languages are compared using a common benchmark of a dozen medium size programs. The benchmarking procedure has been designed such that one set of programs can be translated automatically into different languages, thus allowing a fair comparison of the quality of compilers for different lazy functional languages. Aspects studied include compile time, execution time, ease of programmingdetermined by the availability of certain key features

[1]  Will Partain,et al.  The nofib Benchmark Suite of Haskell Programs , 1992, Functional Programming.

[2]  H. H. Wang,et al.  A Parallel Method for Tridiagonal Equations , 1981, TOMS.

[3]  Colin Runciman,et al.  Heap profiling of lazy functional programs , 1993, Journal of Functional Programming.

[4]  J. Huisman The Netherlands , 1996, The Lancet.

[5]  Rutger F. H. Hofman,et al.  Parallelization of Branch-and-Bound Algorithms in a Functional Programming Environment , 1992 .

[6]  Marko C. J. D. van Eekelen,et al.  Functional Programming and Parallel Graph Rewriting , 1993 .

[7]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[8]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[9]  Thomas Johnsson,et al.  The Chalmers Lazy-ML Compiler , 1989, Computer/law journal.

[10]  Pieter H. Hartel,et al.  FAST compiler user's guide , 1993 .

[11]  Marko C. J. D. van Eekelen,et al.  Concurrent Clean , 1991, PARLE.

[12]  Philip Wadler,et al.  Packrat parsing:: simple, powerful, lazy, linear time, functional pearl , 2002, ICFP '02.

[13]  Willem G. Vree,et al.  Communication lifting: fixed point computation for parallelism , 1995, Journal of Functional Programming.

[14]  Marinus J. Plasmeijer,et al.  Concurrent Clean, Language Manual - Version 0.8 (revised version) , 1993 .

[15]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[16]  Hendrik L. Muller,et al.  Simulating computer architectures , 1993 .

[17]  Quentin F. Stout,et al.  Supporting Divide-and-Conquer Algorithms for Image Processing , 1987, J. Parallel Distributed Comput..

[18]  Pieter H. Hartel,et al.  FCG: A Code Generator for Lazy Functional Languages , 1992, CC.

[19]  Willem G. Vree,et al.  Arrays in a lazy functional language -- a case study: the fast Fourier transform , 1992 .

[20]  Academisch Proefschrift,et al.  Simulating Computer Architectures , 1993 .

[21]  Pieter H. Hartel,et al.  Compilation of functional languages using flow graph analysis , 1994, Softw. Pract. Exp..

[22]  Joyce L. Vedral,et al.  Functional Programming Languages and Computer Architecture , 1989, Lecture Notes in Computer Science.

[23]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[24]  Lennart Augustsson,et al.  Implementing Haskell overloading , 1993, FPCA '93.

[25]  Willem G. Vree,et al.  Experience with a clustered parallel reduction machine , 1993, Future Gener. Comput. Syst..

[26]  Hugh Glaser,et al.  On the benefits of different analyses in the compilation of functional languages , 1991 .