Simon Peyton Jones: papers
I've divided these papers (which include some relevant papers
by my colleagues) into groups. Within each group the most
recent are at the top.
Back to my home page.
-
H/Direct: A Binary Foreign Language Interface for Haskell,
SO Finne, D Leijen, E Meijer, SL Peyton Jones,
ICFP'98.
-
Scripting COM components in Haskell,
SL Peyton Jones, E Meijer, and D Leijen,
Software Reuse 1998.
- Calling hell from heaven and heaven from hell,
Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones. ICFP '99.
-
Green Card: a foreign-language interface for Haskell,
T Nordin and SL Peyton Jones,
Proceedings of the Haskell Workshop, Amsterdam, June 1997.
- Sound and Decidable Type Inference for Functional Dependencies,
Gregory J. Duck, Simon Peyton Jones, Peter J. Stuckey, and Martin Sulzmann,
European Symposium on Programming 2004 (ESOP'04).
- Scrap your boilerplate: a practical approach to generic programming, Ralf Laemmel and Simon Peyton Jones, Proc ACM SIGPLAN
Workshop on Types in Language Design and Implementation (TLDI 2003), New Orleans, pp26-37, Jan 2003.
Accompanying examples, libraries, and links are on the
Scrap your Boilerplate home page.
- Wearing the hair shirt: a
retrospective on Haskell.
Slides of my invited talk at POPL'03.
-
First class modules for Haskell, Mark Shields and Simon Peyton Jones;
FOOL'02.
- Template meta-programming for Haskell,
Tim Sheard and Simon Peyton Jones, Proceedings of the
Haskell Workshop, Pittsburgh, 2002
-
Object-Oriented Style Overloading for Haskell, Mark Shields
and Simon Peyton Jones; BABEL workshop '01.
-
Playing by the rules: rewriting as a practical optimisation technique
in GHC, Simon Peyton Jones, Andrew Tolmach and Tony Hoare, Haskell Workshop 2001.
-
Asynchronous exceptions in Haskell, Simon Marlow, Simon Peyton Jones,
Andy Moran and John Reppy, PLDI'01.
-
Derivable Type classes,
Ralf Hinze and Simon Peyton Jones; Haskell Workshop 2000.
-
Pattern Guards and Transformational Patterns,
Martin Erwig and Simon Peyton Jones; Haskell Workshop 2000.
-
Imprecise Exceptions, Co-Inductively,
Andy Moran, Soeren Lassen, and Simon Peyton Jones. HOOTS'99.
-
Lightweight Extensible Records for Haskell,
Mark Jones and Simon Peyton Jones, Haskell Workshop 1999.
-
A semantics for imprecise exceptions,
Simon Peyton Jones, Alastair Reid, Tony Hoare, Simon Marlow, Fergus Henderson.
Proc Programming Language Design and Implementation (PLDI'99), Atlanta.
-
Stretching the storage manager: weak pointers
and stable names in Haskell, Simon Peyton Jones,
Simon Marlow, and Conal Elliott. Proc
Workshop on Implementing Functional Languages, 1999.
-
Bridging the gulf: a common intermediate language for ML and Haskell,
SL Peyton Jones, J Launchbury, MB Shields, and
AP Tolmach,
POPL98.
-
Dynamic typing as staged type inference,
MB Shields, T Sheard, and SL Peyton Jones,
POPL98.
-
Henk: a typed intermediate language,
SL Peyton Jones and E Meijer,
Proceedings of the Types in Compilation Workshop, Amsterdam, June 1997.
-
Type classes: exploring the design space,
Simon Peyton Jones, Mark Jones, Erik Meijer, Haskell Workshop 1997.
-
An exploration of modular programs,
Electronic proceedings of the
1996 Glasgow Functional Programming Workshop,
J Nicklisch and SL Peyton Jones,
Ullapool, July 1996.
-
Bulk types with class,
SL Peyton Jones,
Electronic proceedings of the
1996 Glasgow Functional Programming Workshop,
Ullapool, July 1996.
-
Type classes in Haskell,
CV Hall, K Hammond, SL Peyton Jones, and PL Wadler,
European Symposium On Programming, LNCS 788, Springer Verlag, pp. 241-256, April 1994.
-
A static semantics for Haskell,
SL Peyton Jones and PL Wadler, unpublished draft, Department of Computing
Science, University of Glasgow, 1992.
- How to make a fast curry:
push/enter vs eval/apply, Simon Marlow and Simon Peyton Jones,
Proc International Conference on Functional Programming, Snowbird, Sept 2004,
pp4-15.
- Optimistic Evaluation: an adaptive evaluation strategy
for non-strict programs, Robert Ennals and Simon Peyton Jones,
Proc ACM International Conference on Functional Programming, Uppsala, Aug 2003 (ICFP'03).
Rob's PhD thesis goes into much more detail.
- Constructed Product Result Analysis for Haskell,
Clem Baker-Finch, Kevin Glynn, and Simon Peyton Jones,
Journal of Functional Programming 14(2), March 2004, pp 211-245.
-
Simple Polymorphic Usage Analysis,
Keith Wansbrough (2002), PhD thesis, Computer Laboratory, University of Cambridge.
-
Non-stop Haskell,
Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, Lyndon While,
ACM International Conference on Functional Programming,
Montreal, September 2000 (ICFP'00), pp. 257-267.
-
Secrets of the Glasgow Haskell Compiler inliner,
Simon Peyton Jones and Simon Marlow. IDL'99; revised version
Journal of Functional Programming 12(4), July 2002, pp393-434.
-
Simple Usage Polymorphism,
Keith Wansbrough and Simon Peyton Jones;
Workshop on Types In Compilation 2000.
-
The New GHC/Hugs Runtime System,
Simon Marlow and Simon Peyton Jones. (Unpublished.)
-
Once Upon a Polymorphic Type
Keith Wansbrough and Simon Peyton Jones, POPL'99.
-
A transformation-based optimiser for Haskell,
SL Peyton Jones and A Santos,
Science of Computer Programming 32(1-3), pp3-47, September 1998.
This is a journal version of "Compiling Haskell by program transformation" (below).
-
A design for warm fusion,
Laszlo Nemeth and Simon Peyton Jones, Prc 10th International Worskhop
on the Implementation of Functional Languages (IFL'98), pp 381-394.
Here, too, is Laszlo's thesis "Catamorphism-based
program transformations for non-strict functional languages",
which gives a much more detailed exposition of warm fusion.
-
Compiling Haskell by program transformation: a report from the trenches,
SL Peyton Jones
Proc European Symposium on Programming (ESOP'96), Linkping, Sweden,
Springer Verlag LNCS 1058, Jan 1996.
-
Let-floating: moving bindings to give faster programs (ICFP '96),
SL Peyton Jones, WD Partain, A Santos,
Proc International Conference on Functional Programming, Philadelphia (ICFP'96),
May 1996.
-
Cheap deforestation for non-strict functional languages,
A Gill,
PhD thesis, University of Glasgow, Jan 1996.
-
Compilation by transformation in non-strict functional languages,
A Santos,
PhD thesis, University of Glasgow, Sept 1995.
-
A short cut to deforestation,
A Gill, SL Peyton Jones, J Launchbury,
Proc Functional Programming Languages and Computer Architecture (FPCA'93), Copenhagen,
June 1993, pp223-232.
-
Measuring the effectiveness of a simple strictness analyser
SL Peyton Jones and WD Partain,
Functional Programming, Glasgow 1993, ed Hammond and O'Donnell, Springer Verlag
Workshops in Computing,
1993, pp201-220.
-
The Glasgow Haskell compiler: a technical overview,
SL Peyton Jones, CV Hall, K Hammond, WD Partain, PL Wadler,
Proceedings of Joint Framework for Information Technology Technical Conference, Keele,
March 1993, pp249-257.
-
Implementing lazy functional languages on stock hardware:
the Spineless Tagless G-machine,
SL Peyton Jones,
Journal of Functional Programming 2(2),
Apr 1992, pp127-202.
-
Unboxed values as first class citizens,
SL Peyton Jones and J Launchbury,
Functional Programming Languages and Computer Architecture (FPCA'91), Boston,
LNCS 523, Springer Verlag,
Sept 1991, pp636-666.
-
A modular fully-lazy lambda lifter in Haskell,
SL Peyton Jones and D Lester,
Software Practice and Experience
21(5), May 1991, pp479-506.
-
The nofib benchmark suite of Haskell programs,
Will Partain,
Proc 1992 Glasgow Workshop on Functional Programming, Springer Verlag, pp 195-202.
- Extending the Haskell
Foreign Function Interface with Concurrency,
Simon Marlow, Simon Peyton Jones, and Wolfgang Thaller,
Proceedings of the Haskell Workshop, Snowbird, Sept 2004.
- Tackling the awkward
squad: monadic input/output, concurrency,
exceptions, and foreign-language calls in Haskell.
In "Engineering theories of software construction", ed Tony Hoare,
Manfred Broy, Ralf Steinbruggen, IOS Press, ISBN 1 58603 1724, 2001, pp47-96.
-
Concurrent Haskell,
SL Peyton Jones, A Gordon, S Finne,
23rd ACM Symposium on Principles of Programming Languages, St Petersburg Beach, Florida,
Jan 1996,
pp295-308.
-
State in Haskell,
SL Peyton Jones and J Launchbury,
Lisp and Symbolic Computation 8(4), Dec 1995, pp293-341.
This is a 50-page elaboration of "Lazy functional state threads" (below).
-
Lazy functional state threads,
SL Peyton Jones and J Launchbury,
SIGPLAN Symposium on Programming Language Design and Implementation (PLDI'94), Orlando,
June 1994, pp24-35.
-
Imperative functional programming,
SL Peyton Jones and PL Wadler,
20th ACM Symposium on Principles of Programming Languages (POPL'93), Charleston,
Jan 1993, pp71-84.
- A user-centred approach to functions in Excel,
Simon Peyton Jones, Alan Blackwell, and Margaret Burnett,
Proc ACM International Conference on Functional Programming, Uppsala, Aug 2003 (ICFP'03).
-
Porting the Clean Object I/O library to Haskell,
Peter Achten and Simon Peyton Jones,
12th International
Workshop on the Implementation of Functional Languages, Aachen,
Sept 2000.
-
Composing Haggis,
S Finne and SL Peyton Jones,
Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht,
Sept 1995.
-
Pictures: a simple structured graphics model,
S Finne and SL Peyton Jones,
Proc Glasgow Functional Programming Workshop, July 1996.
-
The Multi-Architecture Performance of the Parallel Functional Language GpH.
PW Trinder, H-W Loidl, E Barry Jr, MK Davis, K Hammond, U Klusik, SL Peyton Jones, AJ Rebon Portillo,
Euro-Par 2000 --- Parallel Processing, Munich, Germany, August 2000, Springer-Verlag.
-
Engineering Parallel Symbolic Programs in GpH,
H-W Loidl, PW Trinder, K Hammond,
SB Junaidu, RG Morgan, SL Peyton Jones.
Concurrency - Practice and Experience, 11(12):701-752, October 1999.
-
GPH: An architecture-independent functional language,
PW Trinder, E Barry, MK Davis, K Hammond, SB Junaidu,
HW Loidl, SL Peyton Jones,
submitted to IEEE Trans. on Software Engineering, July 1998.
-
Granularity in Large-Scale Parallel Functional Programming,
H-W Loidl,
PhD thesis, University of Glasgow, March 1998.
-
Algorithm + Strategy = Parallelism
PW Trinder, K Hammond, H-W Loidl, and SL Peyton Jones,
Journal of Functional Programming, 8(1):23-60, January 1998.
-
GUM: a portable parallel implementation of Haskell,
P Trinder, K Hammond, SL Peyton Jones, and A Partridge,
Proc SIGPLAN Symposium on Programming Language Design and Implementation (PLDI'96), Philadelphia, May 1996.
-
Making a Packet: Cost-Effective Communication for a Parallel Graph Reducer
H-W Loidl and K Hammond,
In IFL'96 --- Intl Workshop on the Implementation of Functional Languages 1996,
Bonn/Bad-Godesberg, Germany, Sep 16 -- 18, 1996,
LNCS 1268, pp. 184--199, Springer-Verlag.
-
A Case Study of Data-intensive Programs in Parallel Haskell,
PW Trinder, K Hammond, H-W Loidl, S Peyton Jones, J Wu,
In
Glasgow Workshop on Functional Programming 1996,
Ullapool, Scotland, Jul. 8--10, 1996.
-
A Sized Time System for a Parallel Functional Language,
H-W Loidl, K Hammond,
In
Glasgow Workshop on Functional Programming 1996,
Ullapool, Scotland, Jul. 8--10, 1996.
-
GUM: a portable parallel implementation of Haskell,
P Trinder, K Hammond, SL Peyton Jones, and A Partridge,
Proc Workshop on Implementation of Functional Languages, Bastaad, Sweden, 1995.
(This is a longer version of the PLDI paper with the same title. It contains
more detail about packing graph into packets, scheduling, performance monitoring tools,
and it contains an extra performance-measurement experiment. It has a little
less detail about global addresses, however.)
- On the Granularity of Divide-and-Conquer Parallelism,
H-W. Loidl, K. Hammond,
In Glasgow Workshop on Functional Programming 1995,
Ullapool, Scotland, Jul. 8--10, 1995. Springer Verlag.
-
Visualising Granularity in Parallel Programs:
A Graphical Winnowing System for Haskell,
K Hammond, H-W Loidl, A Partridge,
In HPFC'95 --- Conf. on High Performance Functional
Computing, pp. 208--221, Denver, Colorado, Apr. 10--12, 1995.
- GRAPHing the Future,
K Hammond, H-W Loidl, JS Mattson Jr, A Partridge, SL Peyton Jones,
PW Trinder,
In IFL'94 --- Intl. Workshop on the Implementation of Functional Languages ,
Norwich, England, Sep. 7--9, 1994.
-
GRAPH for PVM: Graph Reduction for Distributed Hardware ,
H-W Loidl, K Hammond,
In IFL'94 --- Intl. Workshop on the Implementation of Functional Languages ,
Norwich, England, Sep. 7--9, 1994.
-
Parallel Functional Programming: An Introduction ,
K Hammond,
In PASCO'94 --- First Intl. Symposium on Parallel Symbolic
Computation, Hagenberg/Linz, Austria, 26-28 September. World Scientific.
-
Automatic spark strategies and granularity for a parallel
functional-language reducer,
K Hammond, JS Mattson and SL Peyton Jones,
CONPAR 1994, Linz, Austria, Springer LNCS 854, Sept 1994, pp521-532.
- Getting a GRIP,
K Hammond,
In IFL'93 --- Intl. Workshop on the Parallel
Implementation of Functional Languages, Nijmegen, The Netherlands,
September 1993.
- Profiling Scheduling Strategies on the GRIP Multiprocessor,
K Hammond and SL Peyton Jones,
In IFL'92 --- Fourth Intl. Workshop on the Parallel
Implementation of Functional Languages,
pp. 73-98, RWTH Aachen, Germany, September 1992.
- A Parallel Functional Database for GRIP,
G Akerholt, K Hammond, SL Peyton Jones, PW Trinder,
In IFL'91 --- Intl Workshop on the Parallel
Implementation of Functional Languages, pp. 7-30,
Southampton, UK, June 5-7, 1991.
- Some Early Experiments on the GRIP Parallel Reducer,
K Hammond and SL Peyton Jones,
In IFL'90 --- Intl. Workshop on the Parallel
Implementation of Functional Languages, pp. 51-72, June, 1990.
- Parallel Implementations of Functional Programming Languages,
SL Peyton Jones,
The Computer Journal, 32(2):175-186, April 1989.
- High-Performance Parallel Graph Reduction,
SL Peyton Jones, C Clack, J Salkild,
In PARLE'89 --- Parallel Architectures and Languages Europe,
pp. 193-206. LNCS 365, Springer Verlag 1989.
- GRIP --- a High-Performance Architecture for Parallel Graph
Reduction,
SL Peyton Jones, C Clack, J Salkild, M Hardie,
In FPCA'87 --- Intl. Conf. on Functional Programming Languages
and Computer Architecture, pp. 98-112, Portland, Oregon,
September 14-16. LNCS 274, Springer Verlag 1987.
-
Formally-based profiling for higher-order functional languages,
PM Sansom and SL Peyton Jones,
ACM Transactions on Programming Languages and Systems, 19(2), March 1997, pp 334-385.
-
Time and space profiling for non-strict functional languages,
P Sansom and SL Peyton Jones,
22nd ACM Symposium on Principles of Programming Languages (POPL'95), San Francisco,
Jan 1995, pp355-366.
-
Execution profiling for non-strict functional languages,
P Sansom,
PhD thesis, University of Glasgow, Nov 1994.
- Exploring the Barrier to Entry:
Incremental Generational Garbage Collection for Haskell,
Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While,
International Symposium on Memory Management, Vancouver, 2004.
-
Non-stop Haskell,
Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton
Jones, and Lyndon While; ICFP 2000.
-
Generational garbage collection for Haskell,
P Sansom and SL Peyton Jones,
Proc Functional Programming Languages and Computer Architecture (FPCA'93), Copenhagen,
June 1993, pp106-116.
These grant proposals and final reports give a reasonable overview
of my research interests and plans.
-
The proposal (12 pages)
for the project First-class modules for component-based programming,
which will run 1997-2000.
-
The
final report
for the Parade project (1994-1997). The project focused on
in parallel functional programming for data-intensive applications.
-
The
proposal
and
final report
for the AQUA project (1993-1996).
The report includes an annotated bibliography of our
30-odd publications during that period.
-
The
final report
for the GRASP project (1989-92).