Skip to main content
Log in

Trends in Trends in Functional Programming 1999/2000 versus 2007/2008

  • Published:
Higher-Order and Symbolic Computation

Abstract

The Trends in Functional Programming Symposia are an annual event dedicated to promoting new research directions in functional programming and to investigating the relationship between functional programming and other branches of Computer Science. The TFP series started in 1999 and the 2008 meeting marked the first decade of the symposium. In this paper we identify and discuss the trends presented at TFP using a macro-vision lens that looks at topics in the first two volumes of TFP and the two most recent volumes of TFP. The goal is to calibrate how trends have changed over a decade instead of analyzing trends with a micro-vision lens that focuses on changes from year to year. The major trends identified are work on parallel functional programming, types, formal verification, implementation of functional languages, and application development.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi, M., Cardelli, L., Pierce, B., Plotkin, G.: Dynamic typing in a statically typed language. ACM Trans. Program. Lang. Syst. 13(2), 237–268 (1991)

    Article  Google Scholar 

  2. Abadi, M., Cardelli, L., Pierce, B., Plotkin, G., Rèmy, D.: Dynamic typing in polymorphic languages. In: Proceedings of the 3rd Workshop on ML and Its Applications, WML ’92, San Francisco, CA, USA, June 1992

    Google Scholar 

  3. Achten, P., Koopman, P., Morazán, M. (eds.): Trends in Functional Programming. Trends in Functional Programming, vol. 9. Intellect, Nijmegen (2009)

    Google Scholar 

  4. Aiken, A.: Modern languages for modern parallel computing (invited lecture, abstract only). In: ICFP ’99: Proceedings of the 4th ACM SIGPLAN International Conference on Functional Programming, New York, NY, USA, p. 8. ACM, New York (1999)

    Chapter  Google Scholar 

  5. Baker, P., Jervis, C., King, D.J.: An industrial use of FP: a tool for generating test scripts from system specifications. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 126–134. Intellect, Nijmegen (1999)

    Google Scholar 

  6. Baker-Finch, C.A.: An abstract machine for parallel lazy evaluation. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 154–160. Intellect, Stirling (1999)

    Google Scholar 

  7. Baker-Finch, C.A., King, D.J., Trinder, P.W.: An operational semantics for parallel lazy evaluation. In: ACM-SIGPLAN International Conference on Functional Programming (ICFP’00), pp. 162–173. ACM, New York (2000)

    Chapter  Google Scholar 

  8. Bakewell, A., Runciman, C.: The space usage problem: an evaluation kit for graph reduction semantics. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 115–128. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  9. Ballereau, O., Loulergue, F., Hains, G.: High level BSP programming: BSML and BSλ. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 29–40. Intellect, Nijmegen (1999)

    Google Scholar 

  10. Bernstein, K.L., Stark, E.W.: Debugging type errors (full version). Technical report, State University of New York at Stony Brook, Computer Science Department, November 1995

  11. Bertot, Y., Casterán, P.: Interactive theorem proving and program development. Coq’art: the calculus of inductive constructions. In: Texts in Theoretical Computer Science. Springer, Berlin (2004)

    Google Scholar 

  12. Bove, A., Dybjer, P., Sicard-Ramírez, A.: Embedding a logical theory of constructions in Agda. In: PLPV ’09: Proceedings of the 3rd Workshop on Programming Languages Meets Program Verification, New York, NY, USA, pp. 59–66. ACM, New York (2008)

    Chapter  Google Scholar 

  13. Boyer, R.S., Strother Moore, J.: Proving theorems about LISP functions. J. Assoc. Comput. Mach. 22(1), 129–144 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  14. Brady, E.: Ivor, a proof engine. In: Proceedings 18th International Symposium on the Implementation of Functional Languages, IFL’06—Revised Selected Papers, Budapest, Hungary, September 2006. Lecture Notes in Computer Science, vol. 4449, pp. 145–162. Springer, Berlin (2006)

    Google Scholar 

  15. Brady, E., McKinna, J., Hammond, K.: Constructing correct circuits: verification of functional aspects of hardware specifications with dependent types. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 159–176. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  16. Brady, E., Herrmann, C., Hammond, K.: Lightweight invariants with full dependent types. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 161–177. Intellect, Nijmegen (2009)

    Google Scholar 

  17. Brown, D.F., Garmendia-Doval, A.B., McCall, J.A.W.: A functional framework for the implementation of genetic algorithms: comparing Haskell and standard ML. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 27–38. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  18. Campbell, B.: Amortised memory analysis using the depth of data structures. In: Castagna, G. (ed.) Programming Languages and Systems: 18th European Symposium on Programming, ESOP 2009. Lecture Notes in Computer Science, vol. 5502, pp. 190–204. Springer, Berlin (2009)

    Google Scholar 

  19. Campbell, B.: Prediction of linear memory usage for first-order functional programs—best student paper. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 1–16. Intellect, Nijmegen (2009)

    Google Scholar 

  20. Chitil, O.: Compositional explanation of types and algorithmic debugging of type errors. In: ICFP ’01: Proceedings of the 6th ACM SIGPLAN International Conference on Functional Programming, New York, NY, USA, pp. 193–204. ACM Press, New York (2001)

    Chapter  Google Scholar 

  21. Christiansen, J., Fischer, S.: Easycheck—test data for free. In: FLOPS ’08: Proceedings of the 9th International Symposium on Functional and Logic Programming. Lecture Notes in Computer Science, vol. 4989. Springer, Berlin (2008)

    Google Scholar 

  22. Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of the 5th International Conference on Functional Programming, ICFP ’00, Montreal, Canada, pp. 268–279. ACM Press, New York (2000)

    Chapter  Google Scholar 

  23. Cole, M.: Algorithmic Skeletons: Structured Management of Parallelism. Research Monographs in Parallel and Distributed Computing. MIT Press, Cambridge (1989)

    Google Scholar 

  24. Conchon, S., Filliâtre, J.-C., Signoles, J.: Designing a generic graph library using ML functors. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 124–140. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  25. Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall/Cornell University, Ithaca (1995)

    Google Scholar 

  26. Cooper, E., Lindley, S., Wadler, P., Yallop, J.: Links: web programming without tiers. In: Proceedings of the 5th International Symposium on Formal Methods for Components and Objects, FMCO ’06, CWI, Amsterdam, The Netherlands, 7–10 November 2006, vol. 4709. Springer, Berlin (2006).

    Google Scholar 

  27. Courtney, A.: Modeling user interfaces in a functional language. PhD thesis, Yale University, May 2004

  28. Covino, E., Pani, G.: Complexity certification of C++ template metaprogramming. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 145–160. Intellect, Nijmegen (2009)

    Google Scholar 

  29. Curtis, S.: An application of functional programming: quilting. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 145–158. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  30. Damas, L., Milner, R.: Principal type schemes for functional programs. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’82, pp. 207–212. ACM, New York (1982)

    Chapter  Google Scholar 

  31. Danielsson, N.A., Hughes, J., Jansson, P., Gibbons, J.: Fast and loose reasoning is morally correct. In: POPL’06: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York, NY, USA, pp. 206–217. ACM, New York (2006)

    Google Scholar 

  32. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  33. Dosch, W., Wiedemann, B.: List homomorphisms with accumulation and indexing. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 135–143. Intellect, Nijmegen (1999)

    Google Scholar 

  34. Duggan, D.: Correct type explanation. In: Workshop on ML, pp. 49–58. ACM SIGPLAN, New York (1998)

    Google Scholar 

  35. Faxén, K.-F.: The costs and benefits of cloning in a lazy functional language. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 1–12. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  36. Gaudiot, J., Lee, L.: Multiprocessor systems programming in a high-level data-flow language. In: Parallel Architectures and Languages Europe, Volume 1: Parallel Architectures, PARLE 1987. Lecture Notes in Computer Science, vol. 258, pp. 134–151 (1987)

    Chapter  Google Scholar 

  37. Gava, F., Loulergue, F.: Semantics of a functional BSP language with imperative features. In: Joubert, G.R., Nagel, W.E., Peters, F.J., Walter, W.V. (eds.) Parallel Computing: Software Technology, Algorithms, Architectures and Applications, PARCO 2003, Dresden, Germany. Advances in Parallel Computing, vol. 13, pp. 95–102. Elsevier, Amsterdam (2004)

    Chapter  Google Scholar 

  38. Ghani, N., Johann, P.: Short cut fusion for effects. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 113–128. Intellect, Nijmegen (2009)

    Google Scholar 

  39. Gilmore, S.: Deep type inference for mobile functions. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 41–49. Intellect, Nijmegen (1999)

    Google Scholar 

  40. Gilmore, S. (ed.): Trends in Functional Programming. Trends in Functional Programming, vol. 2. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  41. Goldberg, B., Hudak, P.: Alfalfa: distributed graph reduction on a hypercube multiprocessor. In: Graph Reduction: Proceedings of a Workshop at Santa Fé, New Mexico. Lecture Notes in Computer Science, vol. 279, pp. 94–113. Springer, Berlin (1986)

    Google Scholar 

  42. Goldman, R., Gabriel, R., Sexton, C.: Qlisp: an interim report. In: Parallel Lisp: Languages and Systems. Lecture Notes in Computer Science, vol. 441, pp. 161–181. Springer, Berlin (1989)

    Chapter  Google Scholar 

  43. Green, M., Abdallah, A.E.: Interfacing java with Haskell. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 79–88. Intellect, Nijmegen (1999)

    Google Scholar 

  44. Gronski, J., Flanagan, C.: Unifying hybrid types and contracts. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 54–70. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  45. Grov, G., Michaelson, G.: Towards a box calculus for hierarchical Hume. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 71–88. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  46. Guillemette, L.-J., Monnier, S.: One vote for type families in Haskell! In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 81–96. Intellect, Nijmegen (2009)

    Google Scholar 

  47. Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. In: ESOP’03: Proceedings of the 12th European Symposium on Programming, Berlin, Heidelberg, pp. 284–301. Springer, Berlin (2003)

    Google Scholar 

  48. Halstead, R.H. Jr.: New ideas in parallel lisp: language design, implementation, programming tools. In: Proceedings of the US/Japan Workshop on Parallel Lisp: Languages and Systems. Lecture Notes in Computer Science, vol. 441, pp. 2–57. Springer, Berlin (1989)

    Google Scholar 

  49. Halstead, R.H.: Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 501–538 (1985)

    Article  MATH  Google Scholar 

  50. Hammond, K.: Hume: a concurrent language with bounded time and space behaviour. In: Proc. 7th IEEE International Conference on Electronic Control Systems, ICECS 2K, Lebanon, pp. 407–411 (2000)

    Google Scholar 

  51. Hammond, K., Loidl, H.W., Partridge, A.: Visualising granularity in parallel programs: a graphical winnowing system for Haskell. In: HPFC’95—High Performance Functional Computing, pp. 208–221 (1995)

    Google Scholar 

  52. Hammond, K., Al Zain, A., Cooperman, G., Petcu, D., Trinder, P.W.: Symgrid: a framework for symbolic computation on the grid. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par. Lecture Notes in Computer Science, vol. 4641, pp. 457–466. Springer, Berlin (2007)

    Google Scholar 

  53. Hanus, M.: Curry: a multi-paradigm declarative language (system description). In: Bry, F., Freitag, B., Seipel, D. (eds.) Twelfth Workshop Logic Programming, WLP 1997, München, Germany, 17–19 September 1997

    Google Scholar 

  54. Hayashi, Y., Cole, M.: BSP-based cost analysis of skeletal programs. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 20–28. Intellect, Nijmegen (1999)

    Google Scholar 

  55. Heeren, B.J.: Top quality type error messages. PhD thesis, Universiteit Utrecht, The Netherlands, September 2005

  56. Heeren, B., Hage, J., Swierstra, S.D.: Constraint based type inferencing in helium. In: Silaghi, M.-C., Zanker, M. (eds.) Workshop Proceedings of Immediate Applications of Constraint Programming, Cork, Ireland, September 2003, pp. 59–80 (2003)

    Google Scholar 

  57. Henglein, F.: Dynamic typing: syntax and proof theory. Sci. Comput. Program. 22(3), 197–230 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  58. Herman, D., Tomb, A., Flanagan, C.: Space-efficient gradual typing. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 1–18. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  59. Hernandez, F., Peña, R., Rubio, F.: From GranSim to paradise. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 11–19. Intellect, Nijmegen (1999)

    Google Scholar 

  60. Hidalgo-Herrero, M., Ortega-Mallén, Y.: A distributed operational semantics for a parallel functional language. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 89–102. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  61. Hindley, R.J.: The principal type scheme of an object in combinatory logic. Trans. Am. Math. Soc. 146, 29–60 (1969)

    MathSciNet  MATH  Google Scholar 

  62. Hofmann, M., Jost, S.: Static prediction of heap space usage for first-order functional programs. In: Proceedings of the 30th ACM Symposium on Principles of Programming Languages, POPL, New Orleans. ACM, New York (2003)

    Google Scholar 

  63. Horváth, Z., Lövei, L., Csörnyei, Z., Kozsik, T., Víg, A., Nagy, T., Király, R., Tóth, M., Kitlei, R.: Refactoring Erlang programs. In: 2nd Central European Functional Programming School, CEFP 2007, Cluj-Napoca, Romania, June 2007

    Google Scholar 

  64. Hu, L., Hutton, G.: Compiling concurrency correctly: cutting out the middle man. In: Proceedings of the Symposium on Trends in Functional Programming, Komárno, Slovakia, June 2009

    Google Scholar 

  65. Hu, L., Hutton, G.: Towards a verified STM. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 129–144. Intellect, Nijmegen (2009)

    Google Scholar 

  66. Ito, T., Matsui, M.: A parallel lisp language PaiLisp and its kernel specification. In: Proceedings of the US/Japan Workshop on Parallel Lisp: Languages and Systems. Lecture Notes in Computer Science, vol. 441, pp. 58–100. Springer, Berlin (1989)

    Chapter  Google Scholar 

  67. Joubert, G.R., Nagel, W.E., Peters, F.J., Walter, W.V. (eds.): In: Parallel Computing: Software Technology, Algorithms, Architectures and Applications, PARCO 2003, Dresden, Germany. Advances in Parallel Computing, vol. 13. Elsevier, Amsterdam (2004)

  68. Klusik, U., Peña, R., Segura, C.: Bypassing of channels in Eden. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 2–10. Intellect, Nijmegen (1999)

    Google Scholar 

  69. Klusik, U., Loogen, R., Priebe, S.: Controlling parallelism and data distribution in Eden. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 53–64. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  70. Knowles, K., Flanagan, C.: Hybrid type checking. ACM Trans. Program. Lang. Syst. 32(2), 1–34 (2010)

    Article  Google Scholar 

  71. Koopman, P., Plasmeijer, R.: Testing reactive systems with Gast. In: Gilmore, S. (ed.) Proceedings of the 5th Symposium on Trends in Functional Programming, TFP ’03, pp. 111–129. Intellect Books, Bristol (2004). ISBN 1-84150-122-0

    Google Scholar 

  72. Koopman, P., Alimarine, A., Tretmans, J., Plasmeijer, R.: Gast: generic automated software testing. In: Peña, R., Arts, T. (eds.) Revised Selected Papers of the 14th International Symposium on the Implementation of Functional Languages, IFL ’02. Lecture Notes in Computer Science, vol. 2670, pp. 84–100. Springer, Berlin (2003)

    Google Scholar 

  73. Lakin, M., Pitts, A.: A metalanguage for structural operational semantics. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 19–35. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  74. Lämmel, R.: Reuse by program transformation. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 144–153. Intellect, Nijmegen (1999)

    Google Scholar 

  75. Li, H., Thompson, S.: Formalisation of Haskell refactorings. In: van Eekelen, M., Hammond, K. (eds.) Trends in Functional Programming (2005)

    Google Scholar 

  76. Lindblad, F.: Property directed generation of first-order test data. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 105–123. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  77. Loidl, H.-W., Klusik, U., Hammond, K., Loogen, R., Trinder, P.W.: GpH and Eden: comparing two parallel functional languages on a Beowulf cluster. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 39–52. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  78. Loitsch, F., Serrano, M.: Hop client-side compilation. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 141–158. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  79. Loogen, R., Ortega-Mallén, Y., Peña-Marí, R.: Parallel functional programming in Eden. J. Funct. Program. 15(3), 431–475 (2005)

    Article  MATH  Google Scholar 

  80. Loulergue, F.: Parallel composition and bulk synchronous parallel functional programming. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 77–88. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  81. Loulergue, F.: Distributed evaluation of functional BSP programs. Parallel Process. Lett. 11(4), 423–437 (2001)

    Google Scholar 

  82. Loulergue, F.: Parallel juxtaposition for bulk synchronous parallel ML. In: Euro-Par 2003. Lecture Notes in Computer Science, vol. 2790, pp. 781–788. Springer, Berlin (2003)

    Google Scholar 

  83. Loulergue, F., Hains, G., Foisy, C.: A calculus of functional BSP programs. Sci. Comput. Program. 37(1–3), 253–277 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  84. McAdam, B.J.: Generalising techniques for type debugging. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 50–58. Intellect, Nijmegen (1999)

    Google Scholar 

  85. McAdam, B.J., Kennedy, A., Benton, N.: Type inference for MLj. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 159–172. University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  86. Meyer, B.: Eiffel: The Language. Prentice Hall, New York (1992)

    MATH  Google Scholar 

  87. Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.): Trends in Functional Programming. Trends in Functional Programming, vol. 1. Intellect, Stirling (1999)

    Google Scholar 

  88. Middelkoop, A., Dijkstra, A., Swierstra, D.: A leaner specification for GADTs. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 65–180. Intellect, Nijmegen (2009)

    Google Scholar 

  89. Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348–375 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  90. Montenegro, M., Peña, R., Segura, C.: A space consumption analysis by abstract interpretation. In: van Eekelen, M., Shkaravska, O. (eds.) Proceedings International Workshop on Foundational and Practical Aspects of Resource Analysis, FOPARA’09, Eindhoven, The Netherlands, November 3, 2009. Lecture Notes in Computer Science, vol. 6324, pp. 34–50. Springer, Berlin (2009)

    Chapter  Google Scholar 

  91. Morazán, M.T. (ed.): Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  92. Morazán, M.T., Troeger, D.R.: The MT architecture and allocation algorithm. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 98–105. Intellect, Nijmegen (1999)

    Google Scholar 

  93. Mu, S.-C., Ko, H.-S., Jansson, P.: Algebra of programming in Agda: dependent types for relational program derivation. J. Funct. Program. 19, 545–579 (2009). doi:10.1017/S0956796809007345

    Article  MathSciNet  MATH  Google Scholar 

  94. Nöcker, E.G.J.M.H., Smetsers, J.E.W., van Eekelen, M.C.J.D., Plasmeijer, M.J.: Concurrent CLEAN. In: Proc. of Parallel Architectures and Languages Europe, PARLE ’91, Eindhoven, the Netherlands. Lecture Notes in Computer Science, vol. 505, pp. 202–219. Springer, Berlin (1991)

    Chapter  Google Scholar 

  95. Norell, U.: Towards a practical programming language based on dependent type theory. PhD thesis, Chalmers University of Technology (2007)

  96. Oury, N., Swierstra, W.: The power of pi. In: ICFP’08: Proceedings of the 2008 SIGPLAN International Conference on Functional Programming, pp. 39–50 (2008)

    Chapter  Google Scholar 

  97. Page, R., Eastlund, C., Felleisen, M.: Functional programming and theorem proving for undergraduates: a progress report. In: FDPE ’08: Proceedings of the 2008 ACM SIGPLAN Workshop on Functional and Declarative Programming in Education, New York, NY, USA, September 21, 2008, pp. 21–30. ACM, New York (2008)

    Chapter  Google Scholar 

  98. Pardo, A., Fernandes, J.P., Saraiva, J.: Shortcut fusion rules for the derivation of circular and higher-order monadic programs. In: Proceedings ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM’09, Savannah, Georgia, USA, January 19–20, 2009, pp. 81–90 (2009)

    Google Scholar 

  99. Pareja, C., Peña, R., Rubio, F., Segura, C.: Optimizing Eden by transformation. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 13–26. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  100. Peyton-Jones, S.: Parallel implementations of functional programming languages. Comput. J. 32(2) (1989)

  101. Pil, M.: Dynamic types and type dependent functions. In: Hammond, K., Davie, T., Clack, C. (eds.) Proceedings of the 10th International Symposium on the Implementation of Functional Languages, IFL ’98, London, UK. Lecture Notes in Computer Science, vol. 1595, pp. 169–185. Springer, Berlin (1999)

    Google Scholar 

  102. Plasmeijer, R., van Eekelen, M.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley, Reading (1993). ISBN 0-201-41663-8

    MATH  Google Scholar 

  103. Plasmeijer, R., Achten, P., Koopman, P.: An introduction to iTasks: defining interactive work flows for the web. In: Proceedings of the 2nd Central European Functional Programming School, CEFP ’07, Cluj-Napoca, Romania, 23–30 June 2007

    Google Scholar 

  104. Rabhi, F.A., Lapalme, G., Zomaya, A.Y.: A functional design framework for genetic algorithms. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 116–125. Intellect, Nijmegen (1999)

    Google Scholar 

  105. Runciman, C., Naylor, M., Lindblad, F.: SmallCheck and lazy smallCheck: automatic exhaustive testing for small values. In: Proceedings of the ACM SIGPLAN 2008 Haskell Symposium, New York, NY, USA, pp. 37–48. ACM, New York (2009). ISBN: 978-1-60558-064-7

    Google Scholar 

  106. Schrijvers, T., Sulzmann, M.: Confluence for non-full functional dependencies. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 49–64. Intellect, Nijmegen (2009)

    Google Scholar 

  107. Schrijvers, T., Peyton Jones, S.L., Sulzmann, M., Vytiniotis, D.: Complete and decidable type inference for GADTs. In: Hutton, G., Tolmach, A.P. (eds.) Proceeding of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP 2009, Edinburgh, Scotland, UK, pp. 341–352. ACM, New York (2009)

    Chapter  Google Scholar 

  108. Sculthorpe, N., Nilsson, H.: Optimisation of dynamic, hybrid signal function networks. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 97–112. Intellect, Nijmegen (2009)

    Google Scholar 

  109. Sérot, J.: CAMLFLOW: a CAML to data-flow graph translator. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 129–144. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  110. Serrano, M., Gallesio, E., Loitsch, F.: Hop, a language for programming the web 2.0. In: Proceedings of the 11th International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA ’06, Portland, Oregon, USA, 22–26 October 2006, pp. 975–985 (2006)

    Google Scholar 

  111. Sestoft, P.: Deriving a lazy abstract machine. J. Funct. Program. 7(3), 231–264 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  112. Shkaravska, O., Kersten, R., van Eekelen, M.: Test-based inference of polynomial loop-bound functions. In: Krall, A., Mössenböck, H. (eds.) PPPJ’10: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java. ACM Digital Proceedings Series, pp. 99–108 (2010)

    Google Scholar 

  113. Shkaravska, O., van Eekelen, M., Tamalet, A.: Collected size semantics for functional programs over lists. In: Scholz, S.-B. (ed.) Revised Selected Papers of the 20th International Symposium on the Implementation and Application of Functional Languages, IFL. Lecture Notes in Computer Science, vol. 5836. Springer, Berlin (2010, to appear)

  114. Søndergaard, H., Sestoft, P.: Referential transparency, definiteness and unfoldability. Acta Inform. 27, 505–517 (1990)

    Article  MathSciNet  Google Scholar 

  115. Sonmez, N., Perfumo, C., Stipic, S., Cristal, A., Unsal, O.S., Valero, M.: UnreadTVar: extending Haskell software transactional memory for performance. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 89–104. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  116. Stuckey, P.J., Sulzmann, M., Wazny, J.: Interactive type debugging in Haskell. In: Haskell ’03: Proceedings of the 2003 ACM SIGPLAN Workshop on Haskell, New York, NY, USA, pp. 72–83. ACM, New York (2003)

    Chapter  Google Scholar 

  117. Swierstra, W., Altenkirch, T.: Dependent types for distributed arrays—best student paper. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 17–32. Intellect, Nijmegen (2009)

    Google Scholar 

  118. Szymanski, B.K.: Parallel Functional Languages and Compilers. Frontier Series. ACM, New York (1991)

    MATH  Google Scholar 

  119. Tamalet, A., Shkaravska, O., van Eekelen, M.: Size analysis of algebraic data types. In: Achten, P., Koopman, P., Morazán, M. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 9, pp. 33–48. Intellect, Nijmegen (2009)

    Google Scholar 

  120. Thiemann, P.: WASH/CGI: server-side web scripting with sessions and typed, compositional forms. In: Krishnamurthi, S., Ramakrishnan, R. (eds.) Proceedings of the 4th International Symposium on the Practical Aspects of Declarative Programming, PADL ’02, Portland, OR, USA, 19–20 January 2002. Lecture Notes in Computer Science, vol. 2257, pp. 192–208. Springer, Berlin (2002)

    Google Scholar 

  121. Trinder, P.W., Hammond, K., Mattson, J.S. Jr., Partridge, A.S., Peyton Jones, S.L.: GUM: a portable parallel implementation of Haskell. In: PLDI ’96: Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, New York, NY, USA, pp. 79–88. ACM, New York (1996)

    Chapter  Google Scholar 

  122. Trinder, P.W., Hammond, K., Loidl, H.-W., L, S., Peyton Jones, S.L.: Algorithm + strategy = parallelism. J. Funct. Program. 8, 23–60 (1998)

    Article  MATH  Google Scholar 

  123. van Eekelen, M.C.J.D. (ed.): Revised Selected Papers from the 6th Symposium on Trends in Functional Programming, TFP 2005, Tallinn, Estonia, 23–24 September 2005. Trends in Functional Programming, vol. 6. Intellect, Bristol (2007)

    Google Scholar 

  124. van Eekelen, M., de Mol, M.: Proof tool support for explicit strictness. In: Butterfield, A., Grelck, C., Huch, F. (eds.) Revised Selected Papers of the 17th International Symposium on the Implementation and Application of Functional Languages, IFL ’05, Dublin, Ireland, 19–21 September 2006. Lecture Notes in Computer Science, vol. 4015, pp. 37–54. Springer, Berlin (2006)

    Google Scholar 

  125. van Eekelen, M., Shkaravska, O., van Kesteren, R., Jacobs, B., Poll, E., Smetsers, S.: AHA: amortized heap space usage analysis. In: Morazán, M.T. (ed.) Trends in Functional Programming, New York City, USA, April 2–4, 2007. Trends in Functional Programming, vol. 8, pp. 36–53. Intellect/The University of Chicago Press, Bristol/Chicago (2007)

    Google Scholar 

  126. Vervoort, M., Plasmeijer, R.: Lazy dynamic input/output in the lazy functional language Clean. In: Peña, R., Arts, T. (eds.) Revised Selected Papers of the 14th International Symposium on the Implementation of Functional Languages, IFL ’02, Madrid, Spain, September 2003. Lecture Notes in Computer Science, vol. 2670, pp. 101–117. Springer, Berlin (2003)

    Google Scholar 

  127. Wadler, P.: Deforestation: transforming programs to eliminate trees. Theor. Comput. Sci. 73(2), 231–248 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  128. Walton, C.D.: An abstract machine for memory management. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 89–97. Intellect, Nijmegen (1999)

    Google Scholar 

  129. Wand, M.: Finding the source of type errors. In: Proceedings Symposium on Principles of Programming Languages, POPL’86, St. Petersburg Beach, Florida, January 1986, pp. 38–43. ACM, New York (1986)

    Google Scholar 

  130. Widera, M., Beierle, C.: How to combine the benefits of strict and soft typing. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 68–78. Intellect, Nijmegen (1999)

    Google Scholar 

  131. Widera, M., Beierle, C.: Detecting common elements of types. In: Gilmore, S. (ed.) Trends in Functional Programming. Trends in Functional Programming, vol. 2, pp. 173–184. Intellect/University of St. Andrews, St. Andrews (2000)

    Google Scholar 

  132. Yang, J.: Explaining type errors by finding the source of a type conflict. In: Michaelson, G., Trinder, P.W., Loidl, H.-W. (eds.) Trends in Functional Programming. Trends in Functional Programming, vol. 1, pp. 59–67. Intellect, Nijmegen (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marko van Eekelen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Achten, P., van Eekelen, M., Koopman, P. et al. Trends in Trends in Functional Programming 1999/2000 versus 2007/2008. Higher-Order Symb Comput 23, 465–487 (2010). https://doi.org/10.1007/s10990-011-9074-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-011-9074-z

Keywords

Navigation