Pure and Lazy Lambda Mining

An Experience Report
  • Nicolas WuEmail author
  • José Pedro MagalhãesEmail author
  • Jeroen BransenEmail author
  • Wouter SwierstraEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8241)


This paper discusses our entry to the 2012 ICFP Programming Contest, written entirely in Haskell. Our solution uses many features of Haskell: pure immutable data structures, laziness, higher-order functions, concurrency, and exception handling. Each of these features plays an essential part in our overall solution, and we demonstrate how these key elements can be composed together. In this exposition, we stress the importance of how the code was structured in such a way that made safely refactoring and extending the model a relatively easy task, and how Haskell’s strong type system made it possible for our team to remain agile under changing specifications.


Functional Programming Game State Game Tree Tile Type Exception Handling 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Hart, P., Nilsson, N., Raphael, B.: A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 4(2), 100–107 (1968)CrossRefGoogle Scholar
  2. 2.
    Hinze, R.: Generalizing generalized tries. J. Funct. Program. 10(4), 327–351 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Hughes, J.: Why functional programming matters. Comput. J. 32(2), 98–107 (1989)CrossRefGoogle Scholar
  4. 4.
    Peyton Jones, S. (ed.): Haskell 98, Language and Libraries. The Revised Report. Cambridge University Press, Cambridge (2003). Journal of Functional Programming Special Issue 13(1)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of OxfordOxfordUK
  2. 2.Department of Computer ScienceUtrecht UniversityUtrechtThe Netherlands

Personalised recommendations