Papers
books
- Understand the differences between procedural and functional programming
- Learn the features of Haskell, and how to use it to develop useful programs
- Interact with filesystems, databases, and network services
- Write solid code with automated tests, code coverage, and error handling
- Harness the power of multicore systems via concurrent and parallel programming
You’ll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you’ve used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.
interviews
- SDTimes: “Everyone’s Talking About Haskell“. July 2009.
- Intel’s Multicore Software Development podcast about Haskell and multicores, parallel programming, and functional programming in industry. Listen to the full interview (15 minutes). January 2009.
- On Ruby, “Author Interview: Real World Haskell“, December 2008.
videos
- The Future of Haskell : Panel Discussion. Edinburgh, Scotland, Haskell Symposium, Sept 2009,
- Haskell for Everyone: Hackage and the Haskell Platform, Edinburgh, Sept 2009, Haskell Implementors Workshop
- Hac5: Vacuum + Adaptive Containers. Utrecht, Netherlands, April 2009
- The Design and Implementation of xmonad, Haskell Workshop, Freiburgh, Germany, Oct 2007.
talks
- Multicore Haskell Now!, October 17, Champaign-Urbana, ACM Reflections|Projections UIUC, 2009
- Domain Specific Languages for Domain Specific Problems, October 14, Santa Fe, NM. LACSS 2009.
- Multicore Programming in Haskell Now!, September 4, 2009, Edinburgh, DEFUN 2009.
- The Haskell Platform: Status Report, September 3, 2009, Edinburgh, Haskell Symposium 2009.
- Improving Data Structures, June 11, 2009. Frauenchiemsee, Germany, WG2.8.
- Engineering Large Projects in Haskell: A Decade of FP at Galois, April 27th, 2009, LondonHUG. London, (Online viewer)
- Beautiful Parallelism: Harnessing Multicores with Haskell, November 12th, 2008, Supercomputing 2009, Bridging the Multicore Programmability Gap, Austin, TX
- Haskell: Batteries Included, Haskell Symposium, October 2008, Victoria Canada
- Stream Fusion for Haskell Arrays, August 28, 2008, Galois Tech Talk, Portland, OR
- Specializing Simulators for High-Performance Monte-Carlo Simulation in Haskell, August 5, 2008. Multiscale Summer School, Richland, WA.
- The Design and Implementation of xmonad, October 2007. Haskell Workshop, Freiburg Germany.
papers
| Stream Fusion: From Lists to Streams to Nothing at All. Duncan Coutts, Roman Leshchinskiy and Don Stewart. Proceedings of the International Conference on Functional Programming (ICFP 2007), Freiburg, Germany. Oct 2007. [.bib, .ps.gz, .pdf, .mov (video of ICFP talk) ]
|
| Specialising Simulator Generators for High-Performance Monte-Carlo Methods. Gabriele Keller, Hugh Chaffey-Millar, Manuel M. T. Chakravarty, Don Stewart, and Christopher Barner-Kowollik. Accepted for PADL, 2007. (This is a thoroughly revised and updated version of “Generative Code Specialisation for High-Performance Monte-Carlo Simulations” below.) [ .pdf]
|
| A Parallelised High Performance Monte Carlo Simulation Approach for Complex Polymerisation Kinetics. Hugh Chaffey-Millar, Don Stewart, Manuel M. T. Chakravarty, Gabriele Keller, and Christopher Barner-Kowollik. Macromolecular Theory and Simulation 16(6), pp 575-592, 2007. [ .pdf (published version from WILEY-VCH Verlag) , .pdf (preprint), Supplementary data ]
|
Generative Code Specialisation for High-Performance Monte-Carlo Simulations. Don Stewart, Hugh Chaffey-Millar, Gabriele Keller, Manuel M. T. Chakravarty, Christopher Barner-Kowollik. Technical Report UNSW-CSE-TR-0710, 2007.[.bib, .ps.gz, .pdf]
|
Rewriting Haskell Strings. Duncan Coutts, Don Stewart and Roman Leshchinskiy. In Proceedings of Practical Aspects of Declarative Languages 8th International Symposium, PADL 2007, Jan 2007, pp. 50–64, Springer-Verlag. Awarded “Most Practical Paper” at PADL.[.bib, .ps.gz, .pdf]
|
Dynamic Applications From the Ground Up. Don Stewart and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 27-38. ACM Press, 2005.[.bib, .ps.gz, .pdf]
|
| Plugging Haskell In. André Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 10-21. ACM Press, 2004 [.bib, .ps.gz, .pdf]
|
demonstrations and position papers
Domain Specific Languages for Domain Specific Problems (position paper), Don Stewart, LACSS Workshop on Non-Traditional Programming Models October 2009
As the complexity of large-scale computing architecture increases, the effort needed to program these machines efficiently has grown dramatically. The challenge is how to bridge this “programmability gap”, making the hardware more accessible to domain experts. We argue for an approach based on
executable embedded domain specific languages (EDSLs)—small languages with focused expressive power hosted directly in existing high-level programming languages such as Haskell. We provide examples of EDSLs in use in industry today, and describe the advantages EDSLs have over general purpose languages in productivity, performance, correctness and cost. Read more…
Autonomous Verification and Validation (position paper). Lee Pike, Don Stewart and John Van Enk. CPS Week 2009 Workshop on Mixed Criticality
We outline a new approach to the verification and validation (V&V) of safety-critical avionics based on the use of executable \emph{lightweight domain specific languages} (LwDSLs)—domain-specific languages hosted directly in an existing high-level programming language. We provide examples of LwDSLs used in industry today, and then we describe the advantages of LwDSLs in V&V. We argue the approach promises substantial automation and cost-reduction in V&V.
Haskell: Batteries Included. Duncan Coutts, Isaac Potoczny-Jones and Don Stewart and Spencer Janssen. To Appear at HW 2008.[.bib, .ps.gz, .pdf]
|
XMonad: A Tiling Window Manager. Don Stewart and Spencer Janssen. To Appear at HW 2007.[.bib, .ps.gz, .pdf]
|
