books
- Real World Haskell, Bryan O’Sullivan, John Goerzen, Don Stewart. Published by O’Reilly, 2008, 710 pages. ISBN 0596514980, 9780596514983
This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You’ll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter. - Dynamic Extension of Typed Functional Languages (PDF), Don Stewart. PhD Thesis, University of New South Wales, Sydney, Australia. 2010.
interviews
- Finance to Facebook, interview panel about changing industries in tech. Nov 2018.
- The Haskell Cast, Episode 2, Interview about Haskell in industry. Sep 2013.
- 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
- Haskell in the Large. London, UK, Haskell eXchange 2016.
- The Haskell Platform, Hackage and Cabal: The 2nd Year. Baltimore, USA, Haskell Implementors Workshop, 2010
- 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
- Haskell in the Large, closing address at Utrecht Applied Functional Programming Summer school, Utrecht, NL, 15 July 2016.
- Haskell in the Large. Google Tech Talk. London, UK, Jan 26, 2015.
- Make Things Now!, keynote for PADL 2012. Philadelphia, Jan 2012.
- Engineering Large Projects in a Functional Language (revised), UNSW, Sydney, Mar 30 2011.
- Combining languages and SMT solvers: an EDSL study, WG2.8 Austin, Texas, March 2011.
- Engineering Large Projects in a Functional Language (revised), BayHac Mountain View, Feb 12 2011.
- Scripting with Types: revised, Feb 4, Amazon, Seattle, 2011.
- The Haskell Platform, Hackage and Cabal: The Second Year. Oct 1, Baltimore, USA for HIW.
- Engineering Large Projects in a Functional Language, (2010 Edition), August 27, Utrecht NL, for UU AFP.
- Practical Haskell: Scripting with types, August 17, 2010, LA, California.
- Engineering Large Projects in a Functional Language, (2010 Edition), July 10, Portland OR, for the DevNation PDX visit.
- Multicore Haskell Now! (2010 Edition), June 1, 2010, Portland OR, for the Open Source Bridge session 326 on Haskell.
- Lazy Synchronization Mechanisms, February 26, 2010, Galois Developer Talk, Portland OR.
- Modern Benchmarking in Haskell, February 23, 2010, Portland OR, Galois Tech Talk.
- 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]
|