1999
Engineering Parallel Symbolic Programs in GpH
Concurrency - Practice and Experience | 1999, Vol 11 | Concurrency - Practice and Experience edition
Lightweight Extensible Records for Haskell
Haskell Workshop
Calling Hell from Heaven and Heaven from Hell
The International Conference on Functional Programming (ICFP’99), Paris, France
Also appeared in ACM SIGPLAN Notices 34, 9, (Sep. 1999)
Stretching the storage manager: weak pointers and stable names in Haskell
Proceedings of the 11th International Workshop on the Implementation of Functional Languages
A Semantics for Imprecise Exceptions
Proceedings of the ACM SIGPLAN ‘99 Conference on Programming Language Design and Implementation
Once Upon a Polymorphic Type
26th ACM Symposium on Principles of Programming Languages (POPL’99)
Aspect-oriented compilers
GCSE’99 - Generative and Component-Based Software Engineering.
C–: a portable assembly language that supports garbage collection
International Conference on Principles and Practice of Declarative Programming
Imprecise exceptions, co-inductively
Higher Order Operational Techniques in Semantics: Third International Workshop
1998
A design for warm fusion
10th International Worskhop on the Implementation of Functional Languages (IFL’98)
GPH : An Architecture Independent Functional Language
Scripting COM components in Haskell
Fifth International Conference on Software Reuse
The C– Language Reference Manual
H/Direct: A Binary Foreign Language Interface for Haskell
International Conference on Functional Programming 1998 (ICFP’98)
Algorithm + Strategy = Parallelism
Journal of Functional Programming Vol 8: pp. 23-60
Bridging the Gulf: A Common Intermediate Language for ML and Haskell
ACM Symposium on Principles of Programming Languages (POPL’98)
Dynamic Typing By Staged Type Inference
25th ACM Symposium on Principles of Programming Languages (POPL’98)
Machine-independent support for garbage collection, debugging, exception handling, and concurrency
MSR-TR-1998-1
The New GHC/Hugs Runtime System
1997
PARallel Database Engine (Parade) Final Report
A transformation-based optimiser for Haskell
Science of Computer Programming Vol 32(1)
Henk: a typed intermediate language
Types in Compilation
Green Card: a foreign-language interface for Haskell
Haskell workshop
Formally-Based Profiling for Higher-Order Functional Languages
ACM Transactions on Programming Languages and Systems (TOPLAS) Vol 19(2)
Declarative Systems Architecture: A Quantitative Approach (AQUA)
C-: A Portable Assembly Language
Proceedings of the 1997 Workshop on Implementing Functional Languages
Type classes: an exploration of the design space
Haskell workshop
1996
An Exploration of Modular Programs
The Glasgow Workshop on Functional Programming
Bulk types with class
Electronic proceedings of the 1996 Glasgow Functional Programming Workshop
Pictures: A Simple Structured Graphics Model
Proc Glasgow Functional Programming Workshop
On the importance of being the right size: the challenge of conducting realistic experiments
Computing tomorrow: future research directions in computer science, ed Wand & Milner
GUM: a portable parallel implementation of Haskell
ACM Conference on Programming Languages Design and Implementation (PLDI’96)
Let-floating: moving bindings to give faster programs
ACM SIGPLAN International Conference on Functional Programming (ICFP’96)
Compiling Haskell by Program Transformation: A Report from the Trenches
Proceedings European Symposium on Programming (ESOP’96) 1996, Vol 1058 | Lecture Notes in Computer Science edition |
Concurrent Haskell
POPL ‘96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pictures: A Structured Graphics Model
1995
State in Haskell
Lisp and Symbolic Computation pp. 293-342
Composing Haggis
Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht
Compilation by transformation for non-strict functional languages
PhD Thesis: University of Glasgow
Time and space profiling for non-strict higher-order functional languages
22nd ACM Symposium on Principles of Programming Languages (POPL’95)
Time and space profiling for non-strict, higher-order functional languages
22nd ACM Symposium on Principles of Programming Languages (POPL’95)
1994
Execution profiling for non-strict functional languages
PhD Thesis: University of Glasgow
Lazy functional state threads
ACM Conference on Programming Languages Design and Implementation, Orlando (PLDI’94)
Type classes in Haskell
ACM Transactions on Programming Languages and Systems, European Symposium on Programming (ESOP’94)
1993
How to give a good research talk
SIGPLAN Notices Vol 28(11): pp. 9-12
Processing transactions on GRIP, a parallel graph reducer
Proc Parallel Architectures and Languages Europe (PARLE)
The Glasgow Haskell Compiler: a technical overview
Proceedings of Joint Framework for Information Technology Technical Conference, Keele
A short cut to deforestation
ACM Conference on Functional Programming and Computer Architecture (FPCA’93), ISBN 0-89791-595-X
Generational garbage collection for Haskell
ACM Conference on Functional Programming and Computer Architecture (FPCA’93)
Imperative functional programming
20th ACM Symposium on Principles of Programming Languages (POPL’93)
Measuring the effectiveness of a simple strictness analyser
Functional Programming
1992
Implementing Lazy Functional Languages on Stock Hardware: The Spineless Tagless G-machine
Journal of Functional Programming Vol 2: pp. 127-202
Profiling Lazy Functional Languages Working Paper
A static semantics for Haskell
Implementing functional languages: a tutorial
Published by Prentice Hall
1991
Profiling scheduling strategies on the GRIP parallel reducer
Proc 1992 Workshop on Parallel Implementations of Functional Languages, Aachen
A parallel functional database on GRIP
Proc Workshop on the Parallel Implementation of Functional Languages, Southampton
A modular fully-lazy lambda lifter in Haskell
Software Practice and Experience Vol 21(5): pp. 479-506
A practical technique for designing asynchronous finite-state machines
Unboxed values as first class citizens
ACM Conference on Functional Programming and Computer Architecture (FPCA’91)