Publications

This page contains most of my research papers. The papers are roughly grouped by topic and both an abstract as well as an electronic version can be found on a separate page.

The copyright for the papers is held by the authors or by the publisher. The papers are provided for personal use only; other use requires the explicit permission of the copyright holder.

The publications are grouped by topic as follows:

Work in Progress

Generic Programming with Type Families (SLIDES). Some ideas on how to implement non-parametric container types (and other type-indexed data types) with type families in Haskell. [Joint work with Gabriele Keller, Roman Leshchinskiy, Simon Peyton Jones.]

Books

An Introduction to Computing (with Haskell). Manuel M. T. Chakravarty and Gabriele C. Keller. SprintPrint. Pearson Education Australia, 2002. (Out of print.)

On the Massively Parallel Execution of Declarative Programs. Manuel M. T. Chakravarty. Doctoral dissertation, Technische Universität Berlin, Fachbereich Informatik, 1997.

Functional Programming

Instant Generics: Fast and Easy. Manuel M. T. Chakravarty, Gabriel C. Ditu, and Roman Leshchinskiy. Submitted, 2009.

Type Checking with Open Type Functions. Tom Schrijvers, Simon Peyton-Jones, Manuel M. T. Chakravarty, and Martin Sulzmann. In Proceedings of ICFP 2008 : The 13th ACM SIGPLAN International Conference on Functional Programming, ACM Press, 2008.

ML Modules and Haskell Type Classes: A Constructive Comparison. Stefan Wehr and Manuel M.T. Chakravarty. In Proceedings of The Sixth ASIAN Symposium on Programming Languages and Systems - APLAS 2008, Springer-Verlag, LNCS, 2008.

Towards Open Type Functions for Haskell. Tom Schrijvers, Martin Sulzmann, Simon Peyton-Jones, and Manuel M. T. Chakravarty. Presented at IFL 2007.

Solving the expression problem with true separate compilation. Sean Seefried and Manuel M.T. Chakravarty. Submitted, 2007. (Also available as UNSW-CSE-TR-0715, 2007.)

Modular Type Classes. Derek Dreyer, Robert Harper, and Manuel M. T. Chakravarty. In Proceedings of The 34th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages, ACM Press, 2007. (Unabridged version available as University of Chicago, TR-2006-09.)

Dynamic Applications From the Ground Up. Don Stewart and Manuel M. T. Chakravarty. In Proceedings of The 2005 ACM SIGPLAN Haskell Workshop, ACM Press, pages 27-38, 2005.

Associated Type Synonyms. Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones. In Proceedings of The Tenth ACM SIGPLAN International Conference on Functional Programming, ACM Press, pages 241-253, 2005.

Associated Types with Class. Manuel M. T. Chakravarty, Gabriele Keller, Simon Peyton Jones, and Simon Marlow. In Proceedings of The 32nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'05), ACM Press, pages 1-13, 2005.

Plugging Haskell In. AndrÈ Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In ACM SIGPLAN 2004 Haskell Workshop, ACM Press, pages 10-21, 2004.

Interfacing Haskell with Object-Oriented Languages. AndrÈ T. H. Pang and Manuel M. T. Chakravarty. In Greg Michaelson and Phil Trinder, editors, Implementation of Functional Languages: 15th International Workshop, IFL 2003, Edinburgh, UK, September 8-11, 2003, Revised Papers, LNCS 3145, Springer-Verlag, pages 20-36, 2004.

Optimising Embedded DSLs using Template Haskell. Sean Seefried, Manuel M. T. Chakravarty, and Gabriele Keller. In Gabor Karsai and Eelco Visser, editors, Third International Conference on Generative Programming and Component Engineering (GPCE'04), LNCS 3286, Springer-Verlag, pages 186-205, 2004. [An earlier draft was presented at the IFL 2003 - 15th International Workshop on the Implementation of Functional Languages, 2003.]

An Approach to Fast Arrays in Haskell. Manuel M. T. Chakravarty and Gabriele Keller. In Johan Jeuring and Simon Peyton Jones, editors, lecture notes for The Summer School and Workshop on Advanced Functional Programming 2002. LNCS 2638, Springer-Verlag, pages 27-58, 2003.

Functional Array Fusion. Manuel M. T. Chakravarty and Gabriele Keller. In Xavier Leroy, editor, Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming, ACM Press, pp205-216, 2001.

Take: A Distributed Testing Harness in Haskell - DRAFT -. Manuel M. T. Chakravarty. Internal Report.

C -> Haskell, or Yet Another Interfacing Tool. Manuel M. T. Chakravarty. In Pieter Koopman and Chris Clack, editors, Implementation of Functional Languages, 11th. International Workshop (IFL'99), Springer-Verlag, LNCS 1868, 2000.

Lazy Lexing is Fast. Manuel M. T. Chakravarty. In A. Middeldorp and T. Sato, editors, Fourth Fuji International Symposium on Functional and Logic Programming, Springer-Verlag, LNCS 1722, pages 68-84, 1999.

Functional Language Compilers

An LLVM Backend for GHC. David A. Terei and Manuel M. T. Chakravarty. In Proceedings of ACM SIGPLAN Haskell Symposium 2010, ACM Press, 2010.

System F with Type Equality Coercions. Martin Sulzmann, Manuel M. T. Chakravarty, Simon Peyton Jones, and Kevin Donnelly. In G. Necula, editor, Proceedings of The Third ACM SIGPLAN Workshop on Types in Language Design and Implementation, ACM Press, 2007. (An extended version appeared as Technical Report UNSW-CSE-TR-0624, 2006.)

Nested Dataparallel Programming

Vectorisation Avoidance. Gabriele Keller, Manuel M. T. Chakravarty, Roman Leshchinskiy, Ben Lippmeier, and Simon Peyton Jones. In Proceedings of ACM SIGPLAN Haskell Symposium 2012, ACM Press, 2012.

Work Efficient Higher-Order Vectorisation. Ben Lippmeier, Manuel M. T. Chakravarty, Gabriele Keller, Roman Leshchinskiy, and Simon Peyton Jones. In The 17th ACM SIGPLAN International Conference on Functional Programming, ACM Press, 2012.

Harnessing the Multicores: Nested Data Parallelism in Haskell. Simon Peyton Jones, Roman Leshchinskiy, Gabriele Keller, and Manuel M. T. Chakravarty. In IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2008), IBFI, Schloss Dagstuhl, 2008.

Partial Vectorisation of Haskell Programs. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, and Gabriele Keller. In DAMP 2008: Workshop on Declarative Aspects of Multicore Programming, 2008.

Data Parallel Haskell: a status report. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, Gabriele Keller, and Simon Marlow. In DAMP 2007: Workshop on Declarative Aspects of Multicore Programming, ACM Press, 2007.

Higher Order Flattening. Roman Leshchinskiy, Manuel M. T. Chakravarty, and Gabriele Keller. In Third International Workshop on Practical Aspects of High-level Parallel Programming (PAPP 2006), Springer-Verlag, LNCS, 2006.

Costing Nested Array Codes. Roman Lechtchinsky, Manuel M. T. Chakravarty, and Gabriele Keller. Parallel Processing Letters 12(2), pp 249-266, 2002. (This article is a revised version of a paper presented at the 3rd International Workshop on Constructive Methods for Parallel Programming (CMPP 2002).)

Nepal -- Nested Data-Parallelism in Haskell. Manuel M. T. Chakravarty, Gabriele Keller, Roman Lechtchinsky, and Wolf Pfannenstiel. In Rizos Sakellariou, John Keane, John R. Gurd, and Len Freeman, editors, Euro-Par 2001: Parallel Processing, 7th International Euro-Par Conference, Springer-Verlag, LNCS 2150, pp524-534, 2001.

More Types for Nested Data Parallel Programming. Manuel M. T. Chakravarty and Gabriele Keller. In Philip Wadler, editor, Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, pages 94-105, ACM Press, 2000

How Portable is Nested Data Parallelism?. Manuel M. T. Chakravarty and Gabriele Keller. In W. Cheng and A. S. M. Sajeev, editors, Proceedings of 6th Annual Australasian Conference on Parallel And Real-Time Systems (PART '99) , Springer-Verlag, 1999.

On the Distributed Implementation of Aggregate Data Structures by Program Transformation. Gabriele Keller and Manuel M. T. Chakravarty. In José Rolim et al, editors, Parallel and Distributed Processing, Fourth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'99), pp 108-122, LNCS 1586, Springer Verlag, 1999.

Flattening Trees. Gabriele Keller and Manuel M. T. Chakravarty. In David Pritchard and Jeff Reeve, editors, Euro-Par'98, Parallel Processing, pp 709-719, LNCS 1470, Springer-Verlag, 1998.

Enlarging the Scope of Vector-Based Computations: Extending Fortran 90 by Nested Data Parallelism. K. T. P. Au, M. M. T. Chakravarty, J. Darlington, Y. Guo, S. Jähnichen, M. Köhler, G. Keller, W. Pfannenstiel, and M. Simons. In W. K. Giloi, editor, Proceedings of the International Conference on Advances in Parallel and Distributed Computing, pp 66-73, IEEE Computer Society Press, 1997.

High-Performance Computing

Embedding Foreign Code. Robert Clifton-Everest, Trevor L. McDonell, Manuel M. T. Chakravarty, and Gabriele Keller. In Proceedings of Sixteenth International Symposium on Practical Aspects of Declarative Languages (PADL'14), Springer Verlag, LNCS, 2013.

Data Flow Fusion with Series Expressions in Haskell. Ben Lippmeier, Manuel M. T. Chakravarty, Gabriele Keller, and Amos Robinson. In Proceedings of ACM SIGPLAN Haskell Symposium 2013, ACM Press, 2013.

Optimising Purely Functional GPU Programs. Trevor L. McDonell, Manuel M. T. Chakravarty, Gabriele Keller, and Ben Lippmeier. In Proceedings of ICFP 2013 : The 18th ACM SIGPLAN International Conference on Functional Programming, ACM Press, 2013.

Guiding Parallel Array Fusion with Indexed Types. Ben Lippmeier, Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones. In Proceedings of ACM SIGPLAN Haskell Symposium 2012, ACM Press, 2012.

Accelerating Haskell Array Codes with Multicore GPUs. Manuel M. T. Chakravarty, Gabriele Keller, Sean Lee, Trevor L. McDonell, and Vinod Grover. In Declarative Aspects of Multicore Programming (DAMP 2011), ACM Press, 2011.

Regular, shape-polymorphic, parallel arrays in Haskell. Gabriele Keller, Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, and Ben Lippmeier. In Proceedings of ICFP 2010 : The 15th ACM SIGPLAN International Conference on Functional Programming, ACM Press, 2010.

GPU Kernels as Data-Parallel Array Computations in Haskell. Sean Lee, Manuel M. T. Chakravarty, Vinod Grover, and Gabriele Keller. In Workshop on Exploiting Parallelism using GPUs and other Hardware-Assisted Methods (EPAHM 2009), 2009.

Specialising Simulator Generators for High-Performance Monte-Carlo Methods. Gabriele Keller, Hugh Chaffey-Millar, Manuel M. T. Chakravarty, Don Stewart, and Christopher Barner-Kowollik. In Proceedings of the Tenth International Symposium on Practical Aspects of Declarative Languages (PADL 08), pp 116--132, LNCS 4902, Springer-Verlag, 2008. [This is a thoroughly revised and updated version of Generative Code Specialisation for High-Performance Monte-Carlo Simulations.]

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 & Simulation 16(6), pp 575-592, 2007.

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.

Compiler Construction

A Functional Perspective on SSA Optimisation Algorithms. Manuel M. T. Chakravarty, Gabriele Keller, and Patryk Zadarnowski. In 2nd International Workshop on Compiler Optimization Meets Compiler Verification (COCV 2003), ENTCS series, Volume 82.2, Elsevier Science, 2004.

Safety & Security

Agda Meets Accelerate. Peter Thiemann and Manuel M. T. Chakravarty. In 24th Symposium on Implementation and Application of Functional Languages (IFL 2012), Revised Papers, Spinger Verlag, LNCS 8241, 2013.

Singleton: A General-Purpose Dependently-Typed Assembly Language. Simon Winwood and Manuel M. T. Chakravarty. In The Sixth ACM SIGPLAN Workshop on Types in Language Design and Implementation, ACM Press, 2011.

On the automated synthesis of proof-carrying temporal reference monitors. Simon Winwood, Gerwin Klein, and Manuel M. T. Chakravarty. In International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2006), LNCS, Springer-Verlag, 2006.

Running the Manual: An Approach to High-Assurance Microkernel Development. Philip Derrin, Kevin Elphinstone, Gerwin Klein, David Cock, and Manuel M. T. Chakravarty. In ACM SIGPLAN 2006 Haskell Workshop, ACM Press, 2006.

Secure Untrusted Binaries - Provably! Simon Winwood and Manuel M. T. Chakravarty. In Workshop on Formal Aspects in Security and Trust (FAST 2005), LNCS 3866, Springer-Verlag, pages 171-186, 2005. (Previous version also available as UNSW Computer Science and Engineering Technical Report no. UNSW-CSE-TR-0511, 2005.)

Declarative Languages for Parallel and Distributed Programming

A Mobile Functional Object Code. Manuel M. T. Chakravarty. Revised version of a paper presented at Implementation of Functional Languages, 10th International Workshop (IFL'98), 1998.

Distributed Haskell: Goffin on the Internet. Manuel M. T. Chakravarty, Yike Guo, and Martin Köhler. In M. Sato and Y. Toyama, editors, Proceedings of the Third Fuji International Symposium on Functional and Logic Programming, World Scientific Publishers, pp 80-97, 1998.

Goffin: Higher-Order Functions Meet Concurrent Constraints. Manuel M. T. Chakravarty, Yike Guo, Martin Köhler, and Hendrik C. R. Lock. Science of Computer Programming 30(1-2), pp 157-199, 1998.

Distributed Implementation of Declarative Languages

Lazy Thread and Task Creation in Parallel Graph-Reduction. Manuel M. T. Chakravarty. In C. Clark, K. Hammond, and T. Davie, editors, Implementation of Functional Languages, 9th International Workshop (IFL'97), LNCS 1467, Springer-Verlag, 1998.

Integrating Multithreading into the Spineless Tagless G-machine. Manuel M. T. Chakravarty. In D. N. Turner, editor, Functional Programming, Glasgow 1995 (Proceedings of the 1995 Glasgow Workshop on Functional Programming, Ullapool, Scotland, 10-12 July 1995), Springer-Verlag, 1995.

Implementation of Functional Logic Programming Languages

Towards the Uniform Implementation of Declarative Languages. Manuel M. T. Chakravarty and Hendrik C. R. Lock. Computer Languages 23(2-4), pp 121-160, Pergamon Press, 1997.

On the Relation Between a Rewriting Computational Model for Functional Logic Languages and Or-Parallelism. Manuel M. T. Chakravarty. In S. Breitinger, H. Kröger, and R. Loogen, editors, Proceedings of the 5th International Workshop on Functional and Logic Programming, University of Marburg, 1996.

The Implementation of Lazy Narrowing. Manuel M. T. Chakravarty, and Hendrik C. R. Lock. In J. Maluszunski and M. Wirsing, editors, Programming Language, Implementation, and Logic Programming, 3rd International Symposium PLILP'91, pp 123-134, LNCS 528, Springer-Verlag, 1991.

Miscellaneous

The Risks and Benefits of Teaching Purely Functional Programming in First Year. Manuel M. T. Chakravarty and Gabriele Keller. Journal of Functional Programming 14(1), pp 113-123, 2004. An earlier version of this paper was presented at Functional and Declarative Programming in Education (FDPE02).

Slides of Talks

Shared Data Structures in Nested Data Parallelism (HTML5 slideshow and PDF). Talk given at the 2nd HIPERFIT Workshop: Mathematical Finance meets Programming Languages and Systems, December 2011.

Haskell Arrays, Accelerated (Using GPUs) (Slides). Talk given at the Haskell Implementors' Workshop, September 2009.

Data Parallelism in Haskell (Slides). Talk at Brisbane FP Group, September 2011. Previous versions of this talk were given at ICFP PC Functional Programming Workshop (a short version), April 2009, at Google Sydney, May 2009, and at the IFIP WG2.8 meeting, June 2009 (a short version).

Type Families: Program Your Types (Slides). Talk at FP-Syd (Sydney Functional Programming users group), October 2008.

Type Classes with Associated Types (Slides). Invited tutorial at The Third Asian Symposium on Programming Languages and Systems (APLAS 2005).


Superseded papers (no longer online)

The following papers are no longer online. Usually, because the central results are also contained in more recent work (for example, workshop papers that later became part of a journal publication or my thesis). I collect them here to avoid breaking old hyperlinks. If you really need one of these, please e-mail me.

Towards a Logical Foundation for the Parallel Implementation of Declarative Languages. Manuel M. T. Chakravarty. Presented at the Dagstuhl seminar 96211, 1997.

Co-ordinating Parallel Computation Through Equational Constraints. Manuel M. T. Chakravarty, Yike Guo, Martin Köhler, and Hendrik C. R. Lock. In the Proceedings of the 11. Workshop Logische Programmierung (WLP'95), Vienna, 1995.

Two Limits of Purely Functional Parallel Programming And How to Overcome Them. Manuel M. T. Chakravarty, Yike Guo, Martin Köhler, and Hendrik C. R. Lock. Internal report, 1995.

V - Nested Parallelism in C. Manuel M. T. Chakravarty, Friedrich-Wilhelm Schröer, and Martin Simons. In W. K. Giloi, S. Jähnichen, and B. Shriver, editors, Proceedings of the Working Conference on Programming Models for Massively Parallel Computers, pp 167-174, IEEE Computer Society Press, 1995.

Higher-Order Logic as a Basis for Abstract Machines Implementing Functional Logic Languages. Manuel M. T. Chakravarty. Internal report, 1995.

Declarative Programming of Parallel Algorithms. Manuel M. T. Chakravarty, Yike Guo, Martin Köhler, and Hendrik C. R. Lock. In Proceedings of the '94 GI-Workshop: Deklarative Programmierung und Spezifikation, 1994.

A Self-Scheduling, Non-Blocking, Parallel Abstract Machine for Lazy Functional Languages. Manuel M.T. Chakravarty. In T. Glauert, editor, Proceedings of the 6th International Workshop on the Implementation of Functional Languages, University of Norwich, 1994.

The JUMP-machine: a Generic Basis for the Integration of Declarative Paradigms. Manuel M. T. Chakravarty and Hendrik C. R. Lock. In Hassan Ait-Kaci, Michael Hanus, and Juan Jose Moreno-Navarro, editors, Proceedings of the Post-ICLP '94 workshop: Integration of Declarative Paradigms, Technical report: MPI-I-94-224, Max-Planck-Institut für Informatik, D-66123 Saarbrücken, 1994.

• Copyright 2005 Manuel M T Chakravarty • Last modified: Sun Apr 8 14:27:57 EST 2007