Simon Marlow
SENIOR RSDE
.
I'm a developer at Microsoft Research Cambridge, in the Programming Principles and Tools group.
Most of my activities are centered around Haskell-related research and development. I work on the Glasgow Haskell Compiler, in particular I'm the author of most of the runtime system, and large parts of the compiler and libraries.
Parallel and Concurrent Programming in Haskell
This is a course I gave at the CEFP 2011 summer school in June 2011.
-
Parrallel and Concurrent Programming in Haskell (tutorial, 69 page PDF)
Slides
Tools
Here are some open-source tools I have developed or worked on:
- The Glasgow Haskell Compiler (GHC). GHC won the ACM SIGPLAN Programming Languages Software Award in 2011.
- Haddock: A documentation tool for Haskell libraries. I wrote the original version of Haddock, since version 2 it has been maintained by David Waern with contributions from others.
- Happy: A tool for generating parsers in Haskell, much like Yacc for C.
- Alex: A tool for generating lexical analysers for Haskell, much like Lex/Flex for C.
- ThreadScope: A tool for visualising and analysing the performance of parallel Haskell programs.
Projects
Multi-processor GHC, STM, parallelism. My main activity of late has been working on support for parallel and concurrent programming using GHC. There are three strands to this:
- Concurrent Haskell and STM.
- Deterministic ("pure") parallelism. See our recent paper on the multicore support in GHC's runtime system, this paper on a revision to the Strategies API for parallel programming, and this paper on the Par monad, a new parallel programming model for Haskell.
- Data-parallel Haskell.
- Haskell 2010. I was the co-chair and editor of the Haskell 2010 language report, which is now available online.
- Haskell Implementers' Workshop I'm a co-organiser for the second Haskell Implementor's workshop in Baltimore, October 2010 alongside ICFP 2010.
Conferences
Program comittee memberships:
- IPDPS 2010
- Haskell Implementers Workshop 2009, 2010
- ISMM'08 and '09 (Review committee), ISMM'10 (Program committee)
- Haskell Symposium 2009
- ICFP 2006
- IFL 2004, 2005, 2006, 2010
- Haskell Workshop 2002
Other
-
I am a member of IFIP Working Group 2.8 on Functional Programming
Contact me...
Publications
- Simon Marlow and Simon Peyton Jones, Multicore Garbage Collection with Local Heaps, in ISMM '11: Proceedings of the 10th International Symposium on Memory Management, ACM, June 2011
- Simon Marlow, Ryan Newton, and Simon Peyton Jones, A Monad for Deterministic Parallelism, in Haskell '11: Proceedings of the Fourth ACM SIGPLAN Symposium on Haskell, ACM, 2011
- Simon Marlow, Patrick Maier, Hans-Wolfgang Loidl, Mustafa K Aswad, and Phil Trinder, Seq no more: Better Strategies for Parallel Haskell, in Haskell '10: Proceedings of the Third ACM SIGPLAN Symposium on Haskell, ACM, 2010
- Simon Marlow, Simon Peyton Jones, and Satnam Singh, Runtime Support for Multicore Haskell, in ICFP 2009, Association for Computing Machinery, Inc., 5 September 2009
- Don Jones Jr., Simon Marlow, and Satnam Singh, Parallel Performance Tuning for Haskell, in ACM SIGPLAN 2009 Haskell Symposium, Association for Computing Machinery, Inc., 3 September 2009
- Simon Marlow, Tim Harris, Roshan P. James, and Simon Peyton Jones, Parallel Generational-Copying Garbage Collection with a Block-Structured Heap, in ISMM '08: Proceedings of the 7th international symposium on Memory management, ACM, June 2008
- Simon Marlow, Alexey Rodriguez Yakushev, and Simon Peyton Jones, Faster laziness using dynamic pointer tagging, in ICFP '07: Proceedings of the ACM SIGPLAN international conference on Functional programming, ACM Press, October 2007
- Simon Marlow, An Extensible Dynamically-Typed Hierarchy of Exceptions, in Haskell '06: Proceedings of the 2006 ACM SIGPLAN workshop on Haskell, ACM Press, September 2006
- Anthony Discolo, Tim Harris, Simon Marlow, Simon Peyton Jones, and Satnam Singh, Lock-free data structures using STMs in Haskell, in Eighth International Symposium on Functional and Logic Programming (FLOPS'06), April 2006
- Anthony Discolo, Tim Harris, Simon Marlow, Simon Peyton-Jones, and Satnam Singh, Lock Free Data Structures using STMs in Haskell, in FLOPS '06: Proceedings of the Eighth International Symposium on Functional and Logic Programming, to appear, April 2006
- Krasimir Angelov and Simon Marlow, Visual Haskell: A full-featured Haskell development environment, in Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, ACM Press, September 2005
- Tim Harris, Simon Marlow, and Simon Peyton Jones, Haskell on a Shared-Memory Multiprocessor, in Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, September 2005
- Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy, Composable memory transactions, in PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, ACM Press, January 2005
- Manuel M. T. Chakravarty, Gabriele Keller, Simon Peyton Jones, and Simon Marlow, Associated types with class, in POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages, ACM Press, January 2005
- A.M. Cheadle, A.J. Field, S. Marlow, S.L. Peyton Jones, and R.L. While, Exploring the Barrier to Entry: Incremental Generational Garbage Collection for Haskell, in International Symposium on Memory Management, ACM, October 2004
- Simon Marlow, Simon Peyton Jones, and Wolfgang Thaller, Extending the Haskell Foreign Function Interface with Concurrency, in Proceedings of the ACM SIGPLAN workshop on Haskell, September 2004
- Simon Marlow and Simon Peyton Jones, Making a fast curry: push/enter vs. eval/apply for higher-order languages, in ICFP'04: Proceedings of the ACM SIGPLAN 2004 International Conference on Function Programming, ACM Press, January 2004
- Simon Marlow, Haddock, A Haskell Documentation Tool, in Proceedings of the ACM SIGPLAN workshop on Haskell, ACM Press, October 2002
- Simon Marlow, Developing a high-performance web server in Concurrent Haskell, in Journal of Functional Programming, vol. 12, no. 4+5, pp. 359–374, July 2002
- Simon Peyton Jones and Simon Marlow, Secrets of the Glasgow Haskell Compiler inliner, in Journal of Functional Programming, vol. 12, no. 4+5, pp. 393–434, July 2002
- S Marlow, SL Peyton Jones, A Moran, and J Reppy, Asynchronous exceptions in Haskell, in ACM Conference on Programming Languages Design and Implementation (PLDI'01), ACM Press, Snowbird, Utah, June 2001
- Simon Marlow, Writing High-Performance Server Applications in Haskell, Case Study: A Haskell Web Server, in Haskell Workshop, September 2000
- S Marlow, SL Peyton Jones, and A Moran, 4th International Workshop on High-Level Concurrent Languages (HLCL'00), September 2000
- S Marlow, SL Peyton Jones, and A Moran, Asynchronous exceptions in Haskell, in 4th International Workshop on High-Level Concurrent Languages (HLCL'00), September 2000
- A. M. Cheadle, A. J. Field, S. Marlow, S. L. Peyton Jones, and R. L. While, Non-stop Haskell, in ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming, ACM Press, January 2000



