Publications

The documents contained in these pages are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Submitted for Publication

Here are papers that have been submitted for publication.

Graham Hutton and Mauro Jaskelioff and Andy Gill, Factorising Folds for Faster Functions, Submitted to the Journal of Functional Programming special issue on Generic Programming, Oct 2009. Details, pdf, Extended Version (pdf), BibTeX
The worker/wrapper transformation is a general technique for improving the performance of recursive programs by changing their types. The previous formalisation (Gill & Hutton, 2009) was based upon a simple fixed point semantics of recursion. In this article we develop a more structured approach, based upon initial algebra semantics. In particular, we show how the worker/wrapper transformation can be applied to programs defined using the structured pattern of recursion captured by fold operators, and illustrate our new technique with a number of examples.

Kevin Matlage and Andy Gill, ChalkBoard: Mapping Functions to Polygons, Submitted to IFL'09, Nov 2009. Details, pdf, BibTeX
ChalkBoard is a domain specific language for describing images. The ChalkBoard language is uncompromisingly functional and encourages the use of modern functional idioms. ChalkBoard uses off-the-shelf graphics cards to speed up rendering of functional descriptions. In this paper, we describe the design of the core ChalkBoard language, and the architecture of our static image generation accelerator.

Andy Gill and Tristan Bull and Garrin Kimmell and Erik Perrins and Ed Komp and Brett Werling, Introducing Kansas Lava, Submitted to IFL'09, Nov 2009. Details, pdf, BibTeX
Kansas Lava is a domain specific language for hardware description. Though there have been a number of previous implementations of Lava, we have found the design space rich, with unexplored choices. We use a direct (Chalmers style) specification of circuits, and make significant use of Haskell overloading of standard classes, leading to concise circuit descriptions. Kansas Lava supports both simulation (inside GHCi), and execution via VHDL, by having a dual shallow and deep embedding inside our Signal type. We also have a lightweight sized-type mechanism, allowing for MATLAB style matrix based specifications to be directly expressed in Kansas Lava.

Publications

2009
B. Werling and E. Perrins and A. Gill, Implementation of an LDPC decoder using Functional Programming Languages, Proceedings of the International Telemetering Conference, Oct 2009. Details, BibTeX

T. Bull and E. Perrins and A. Gill, Implementation of the Viterbi Algorithm using Functional Programming Languages, Proceedings of the International Telemetering Conference, Oct 2009. Details, BibTeX

Andy Gill, Type-Safe Observable Sharing in Haskell, Proceedings of the 2009 ACM SIGPLAN Haskell Symposium, Sep 2009. Abstract, pdf, Webpage, BibTeX

Andy Gill, A Haskell Hosted DSL for Writing Transformation Systems, IFIP Working Conference on Domain Specific Languages, Jul 2009. Abstract, pdf, slides (pdf), BibTeX

Andy Gill and Graham Hutton, The worker/wrapper transformation, Journal of Functional Programming, Mar 2009. Abstract, pdf, Extended Version (pdf), www.workerwrapper.com, BibTeX

2008
Johan Nordlander and Magnus Carlsson and Andy Gill, Unrestricted Call-by-Value Recursion, ACM SIGPLAN Workshop on ML, Sep 2008. Abstract, pdf, BibTeX

William L. Harrison and Gerard Allwein and Andy Gill and Adam Procter, Asynchronous Exceptions as an Effect, Ninth International Conference on Mathematics of Program Construction, Jul 2008. Abstract, pdf, BibTeX

2007
Andy Gill and Colin Runciman, Haskell Program Coverage, Proceedings of the 2007 ACM SIGPLAN Workshop on Haskell, Sep 2007. Abstract, pdf, slides (pdf), google video, BibTeX

Simon Marlow and José Iborra and Bernard Pope and Andy Gill, A lightweight interactive debugger for Haskell, Proceedings of the 2007 ACM SIGPLAN Workshop on Haskell, Sep 2007. Abstract, pdf, BibTeX

2006
Andy Gill, Introducing the Haskell Equational Reasoning Assistant, Proceedings of the 2006 ACM SIGPLAN Workshop on Haskell, 2006. Abstract, pdf, HERA Wiki Page, BibTeX

2001
Andrew Moran and Jim Teisher and Andrew Gill and Emir Pasalic and John Veneruso, Automated translation of legacy code for ATE, Proceedings of the IEEE International Test Conference, 2001. Abstract, pdf, BibTeX

2000
Andy Gill, Debugging Haskell by observing intermediate data structures, Proceedings of the 2000 ACM SIGPLAN Workshop on Haskell, Technical report of the University of Nottingham, 2000. Abstract, pdf, ps, citeseer, Hood Home Page, BibTeX

1998
Chris Okasaki and Andy Gill, Fast mergeable integer maps, ACM SIGPLAN Workshop on ML, Sep 1998. Abstract, pdf, ps, citeseer, BibTeX

1996
Andrew Gill, Cheap deforestation for non-strict functional languages, The University of Glasgow, Jan 1996. Abstract, pdf, pdf (2up), ps, ps (2up), citeseer, BibTeX

1995
Andy Gill, The technology behind a graphical user interface for an equational reasoning assistant, Proceedings of the 1995 Glasgow Workshop on Functional Programming, Electronic Workshops in Computing, Ullapool, Scotland, 1995. Abstract, pdf, ps, citeseer, BibTeX

1994
Andrew Gill and Simon Peyton Jones, Cheap Deforestation in Practice: An Optimizer for Haskell, IFIP Congress (1), 1994. Abstract, pdf, BibTeX

1993
Andrew Gill and John Launchbury and Simon Peyton Jones, A short cut to deforestation, FPCA '93: Proceedings of the conference on Functional Programming Languages and Computer Architecture, 1993. Abstract, pdf, ps, citeseer, BibTeX

1992
John Launchbury and Andrew Gill and John Hughes and Simon Marlow and Simon Peyton Jones and Philip Wadler, Avoiding Unnecessary Updates, Glasgow Workshop on Functional Programming, Workshops in Computing, 1992. Abstract, pdf, ps, citeseer, BibTeX

1991
Andrew Gill, A Novel Approach Towards Peephole Optimisations, Proceedings of the 1991 Glasgow Workshop on Functional Programming, Aug 1991. Abstract, citeseer, BibTeX