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)