Abstract
I describe the initial attempt of experienced business software developers with minimal functional programming background to write a non-trivial, business-critical application entirely in Haskell. Some parts of the application domain are well suited to a mathematically-oriented language; others are more typically done in languages such as C++.
I discuss the advantages and difficulties of Haskell in these circumstances, with a particular focus on issues that commercial developers find important but that may receive less attention from the academic community.
I conclude that, while academic implementations of "advanced" programming languages arguably may lag somewhat behind implementations of commercial languages in certain ways important to businesses, this appears relatively easy to fix, and that the other advantages that they offer make them a good, albeit long-term, investment for companies where effective IT implementation can offer a crucial advantage to success.
Supplemental Material
- Friedman, Daniel P., and Felleisen, Matthias, The Little Schemer, Fourth Edition. MIT Press, 1996. ISBN-13: 978-0-262-56099-3.Google Scholar
- The Glasgow Haskell Compiler. http://www.haskell.org/ghc/Google Scholar
- Graham, Paul, "Beating the Averages", from Hackers and Painters O'Reilly, 2004, ISBN-13: 978-0-596-00662-4. Also available from http://paulgraham.com/avg.htmlGoogle Scholar
- Hudak, Paul, The Haskell School of Expression: Learning Functional Programming Through Multimedia. Cambridge University Press, 2000. ISBN-13: 978-0-521-64408-2. Google Scholar
Digital Library
- Hutton, Graham, Programming in Haskell. Cambridge University Press, 2007. ISBN-13: 978-0-521-69269-4. Google Scholar
Digital Library
- Objective Caml. http://caml.inria.fr/ocaml/index.en.htmlGoogle Scholar
- Ruby Programming Language. http://www.ruby-lang.org/en/Google Scholar
- The Scala Programming Language. http://www.scala-lang.org/Google Scholar
- Duncan Coutts, Don Stewart and Roman Leshchinskiy, "Rewriting Haskell Strings." http://www.cse.unsw.edu.au/ dons/papers/CSL06.htmlGoogle Scholar
Index Terms
Experience report: Haskell in the 'real world': writing a commercial application in a lazy functional lanuage
Recommendations
Experience report: Haskell in the 'real world': writing a commercial application in a lazy functional lanuage
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingI describe the initial attempt of experienced business software developers with minimal functional programming background to write a non-trivial, business-critical application entirely in Haskell. Some parts of the application domain are well suited to ...
Experience report: using hackage to inform language design
HASKELL '10Hackage, an online repository of Haskell applications and libraries, provides a hub for programmers to both release code to and use code from the larger Haskell community. We suggest that Hackage can also serve as a valuable resource for language ...
FunZ Designs -- A Bridge Between Z Specifications and Haskell Implementations
COMPSAC '95: Proceedings of the 19th International Computer Software and Applications ConferenceFunZ, an intermediate specification language, is part of a complete methodology designed to facilitate the derivation of purely functional programs from Z specifications. FunZ is actually an extension of Haskell, yet the language also retains a Z-like ...







Comments