Personal tools

Research papers/Compilation

From HaskellWiki

< Research papers(Difference between revisions)
Jump to: navigation, search
(link fusion stuff to list data structure category)
(some papers on CSE)
Line 68: Line 68:
 
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/fully-lazy-lambda--lifter.ps.gz&pub=16 A modular fully-lazy lambda lifter in Haskell]
 
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/fully-lazy-lambda--lifter.ps.gz&pub=16 A modular fully-lazy lambda lifter in Haskell]
 
:SL Peyton Jones and D Lester, Software Practice and Experience 21(5), May 1991, pp479-506.
 
:SL Peyton Jones and D Lester, Software Practice and Experience 21(5), May 1991, pp479-506.
  +
  +
===Common subexpression elimination (CSE)==
  +
  +
;[http://www.cs.kent.ac.uk/pubs/1997/1904/index.html Common Subexpression Elimination in a Lazy Functional Language]
  +
:Olaf Chitil. In Chris Clack, Tony Davie, and Kevin Hammond, editors, Draft Proceedings of the 9th International Workshop on Implementation of Functional Languages, pages 501-516. St Andrews, Scotland, September 1997.
  +
  +
;[http://www.cs.kent.ac.uk/pubs/1998/1905/index.html Common Subexpressions are Uncommon in Lazy Functional Languages]
  +
:Olaf Chitil. In Chris Clack, Tony Davie, and Kevin Hammond, editors, Proceedings of the 9th International Workshop on Implementation of Functional Languages (September 1997), pages 53-71. St Andrews, Scotland, Springer, 1998.
   
 
===Let floating===
 
===Let floating===
Line 106: Line 114:
 
;[http://doi.acm.org/10.1145/317636.317907 Typer inference builds a short cut to deforestation]
 
;[http://doi.acm.org/10.1145/317636.317907 Typer inference builds a short cut to deforestation]
 
:Olaf Chitil, ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, 1999, 1-58113-111-9, 249--260, Paris, France, ACM Press, New York, NY, USA
 
:Olaf Chitil, ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, 1999, 1-58113-111-9, 249--260, Paris, France, ACM Press, New York, NY, USA
  +
  +
;[http://www.cs.kent.ac.uk/pubs/1999/1910/index.html Type-inference based short cut deforestation (nearly) without inlining]
  +
:Olaf Chitil. In Chris Clack and Pieter Koopman, editors, Draft Proceedings of the 11th International Workshop on Implementation of Functional Languages, pages 17-32, 1999. Lochem, Netherlands, September 7th-10th 1999.
  +
  +
;[http://www.cs.kent.ac.uk/pubs/2000/1900/index.html Deforestation of Functional Programs through Type Inference]
  +
:Olaf Chitil. In Wolfgang Goerigk, editor, 17 Workshops der GI-Fachgruppe 2.1.4. Programmiersprachen und Rechenkonzepte mit Schwerpunkt Softwarecomponenten, pages 121-130. Bad Honnef, Bericht Nr. 2007 des Instituts fur Informatik und Praktische Mathematik der Christian-Albrechts-Universitat zu Kiel, July 2000.
  +
  +
;[http://www.cs.kent.ac.uk/pubs/2000/1815/index.html Type-inference based deforestation of functional programs]
  +
:Olaf Chitil. PhD thesis, RWTH Aachen, October 2000.
   
 
;[http://citeseer.ist.psu.edu/johann00warm.html Warm fusion in Stratego: A case study in generation of program transformation systems]
 
;[http://citeseer.ist.psu.edu/johann00warm.html Warm fusion in Stratego: A case study in generation of program transformation systems]

Revision as of 09:15, 9 September 2006

Contents


1 Compiler Analyses

1.1 CPR

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.

1.2 Usage analysis

Simple Polymorphic Usage Analysis
Keith Wansbrough (2002), PhD thesis, Computer Laboratory, University of Cambridge.
Simple Usage Polymorphism
Keith Wansbrough and Simon Peyton Jones; Workshop on Types In Compilation 2000.
Once Upon a Polymorphic Type
Keith Wansbrough and Simon Peyton Jones, POPL'99.

1.3 Inlining

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.

1.4 Laziness

Avoiding Unnecessary Updates
John Hughes, John Launchbury, Andy Gill, Simon Marlow, Simon Peyton Jones, and Philip Wadler. 1993 Glasgow Workshop on Functional Programming.

1.5 Strictness

Implementing Projection-based Strictness Analysis
Ryszard Kubiak, John Hughes, John Launchbury. Functional Programming 1991: 207-224
Projections for Polymorphic First-Order Strictness Analysis
John Hughes, John Launchbury. Mathematical Structures in Computer Science 2(3): 301-326 (1992)
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.
Compiling Laziness using Projections
Ross Paterson, Static Analysis Symposium, LNCS, vol. 1145, pp. 255-269, Springer, Aachen, Germany, 1996.
Projection-based Strictness Analysis - Theoretical and Practical Aspects
Ralf Hinze. Inauguraldissertation, Universitt Bonn, November 1995.
Strictness analysis aids time analysis
Philip Wadler. 15'th ACM Symposium on Principles of Programming Languages, San Diego, California, January 1988.
Strictness analysis on non-flat domains (by abstract interpretation over finite domains)
Philip Wadler. Chapter in Samson Abramsky and Chris Hankin, editors, Abstract Interpretation, Ellis Horwood, 1987.
Strictness Analysis: Proved and Improved
Kei Davis and Philip Wadler. 1989 Glasgow Workshop on Functional Programming. August 1989.
Strictness Analysis in 4D
Kei Davis. 1990 Glasgow Workshop on Functional Programming. August 1990.

1.6 Abstract interpretation

Fast Abstract Interpretation Using Sequential Algorithms
John Hughes and Alex Ferguson. The Workshop on Static Analysis, WSA 1993: 45-59

1.7 Lambda lifting

A modular fully-lazy lambda lifter in Haskell
SL Peyton Jones and D Lester, Software Practice and Experience 21(5), May 1991, pp479-506.

2 =Common subexpression elimination (CSE)

Common Subexpression Elimination in a Lazy Functional Language
Olaf Chitil. In Chris Clack, Tony Davie, and Kevin Hammond, editors, Draft Proceedings of the 9th International Workshop on Implementation of Functional Languages, pages 501-516. St Andrews, Scotland, September 1997.
Common Subexpressions are Uncommon in Lazy Functional Languages
Olaf Chitil. In Chris Clack, Tony Davie, and Kevin Hammond, editors, Proceedings of the 9th International Workshop on Implementation of Functional Languages (September 1997), pages 53-71. St Andrews, Scotland, Springer, 1998.

2.1 Let floating

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.

2.2 Free variables

Conor McBride, James McKinna Functional pearl: I am not a number--I am a free variable
Proceedings of the 2004 ACM SIGPLAN workshop on Haskell, Snowbird, Utah, USA, 1-9 2004 ISBN 1-58113-850-4

2.3 Fusion and deforestation

See also papers on lists

Cheap deforestation for non-strict functional languages
A Gill, PhD thesis, University of Glasgow, Jan 1996.
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.
Deforestation: transforming programs to eliminate trees
Philip Wadler. Theoretical Computer Science, (Special issue of selected papers from 2'nd European Symposium on Programming), 73: 231-248, 1990.
Shortcut Deforestation in Calculational Form
Akihiko Takano and Erik Meijer, Conf. Record 7th ACM SIGPLAN/SIGARCH Int. Conf. on Functional Programming Languages and Computer Architecture, {FPCA}'95, ACM Press, New York, 306--313, 1995.
A Calculational Fusion System HYLO
Y. Onoue, Z. Hu, H. Iwasaki, M. Takeichi, IFIP TC 2 Working Conference on Algorithmic Languages and Calculi. Le Bischenberg, France. pp.76-106. February 1997. Chapman & Hall.
Deriving Structural Hylomorphisms from Recursive Definitions
Z. Hu, H. Iwasaki, M. Takeichi, ACM SIGPLAN International Conference on Functional Programming (ICFP'96), Philadelphia, pp.73-82. May 1996. ACM Press.
Shortcut fusion for accumulating parameters and zip-like functions
Josef Svenningsson, ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, 2002, 1-58113-487-8, 124--132, Pittsburgh, PA, USA
Typer inference builds a short cut to deforestation
Olaf Chitil, ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, 1999, 1-58113-111-9, 249--260, Paris, France, ACM Press, New York, NY, USA
Type-inference based short cut deforestation (nearly) without inlining
Olaf Chitil. In Chris Clack and Pieter Koopman, editors, Draft Proceedings of the 11th International Workshop on Implementation of Functional Languages, pages 17-32, 1999. Lochem, Netherlands, September 7th-10th 1999.
Deforestation of Functional Programs through Type Inference
Olaf Chitil. In Wolfgang Goerigk, editor, 17 Workshops der GI-Fachgruppe 2.1.4. Programmiersprachen und Rechenkonzepte mit Schwerpunkt Softwarecomponenten, pages 121-130. Bad Honnef, Bericht Nr. 2007 des Instituts fur Informatik und Praktische Mathematik der Christian-Albrechts-Universitat zu Kiel, July 2000.
Type-inference based deforestation of functional programs
Olaf Chitil. PhD thesis, RWTH Aachen, October 2000.
Warm fusion in Stratego: A case study in generation of program transformation systems
P Johann, E Visser, Annals of Mathematics and Artificial Intelligence, 2000
Short Cut Fusion: Proved and Improved
Patricia Johann, SAIG 2001: Proceedings of the Second International Workshop on Semantics, Applications, and Implementation of Program Generation, 2001, 3-540-42558-6, 47--71, Springer-Verlag, London, UK
The under-appreciated unfold
Jeremy Gibbons and Geraint Jones, ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programming, 1998, 1-58113-024-4, 273--279, Baltimore, Maryland, United States, http://doi.acm.org/10.1145/289423.289455, ACM Press, New York, NY, USA
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Erik Meijer and Maarten Fokkinga and Ross Paterson, Proceedings 5th {ACM} Conf. on Functional Programming Languages and Computer Architecture, FPCA'91, Cambridge, MA, USA, 26--30 Aug 1991, 523, Springer-Verlag, Berlin, J. Hughes, 124--144, 1991

3 Compiler construction

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.
Type-safe, self inspecting code
Arthur I. Baars and S. Doaitse Swierstra, Proceedings of the 2004 ACM SIGPLAN workshop on Haskell. Snowbird, Utah, USA 69 - 79, 2004, ISBN 1-58113-850-4

4 Intermediate languages

Henk: a typed intermediate language
SL Peyton Jones and E Meijer, Proceedings of the Types in Compilation Workshop, Amsterdam, June 1997.
Bridging the gulf: a common intermediate language for ML and Haskell
SL Peyton Jones, J Launchbury, MB Shields, and AP Tolmach, POPL98.
An External Representation for the GHC Core Language
Andrew Tolmach
System F with Type Equality Coercions
Martin Sulzmann, Manuel M. T. Chakravarty, and Simon Peyton Jones.
A Single Intermediate Language That Supports Multiple Implementations of Exceptions
Norman Ramsey and Simon Peyton Jones. PLDI 2000. 2000.

5 Type inference

Scripting the type inference process
B. Heeren, J. Hage, and S. D. Swierstra. In Eighth ACM Sigplan International Conference on Functional Programming, pages 3 -- 13, New York, 2003. ACM Press.

6 Compilation by transformation

A transformation-based optimiser for Haskell
SL Peyton Jones and A Santos, Science of Computer Programming 32(1-3), pp3-47, September 1998.
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.
Compilation by transformation in non-strict functional languages
A Santos, PhD thesis, University of Glasgow, Sept 1995.
Playing by the rules: rewriting as a practical optimisation technique in GHC
Simon Peyton Jones, Andrew Tolmach and Tony Hoare, Haskell Workshop 2001.
Transforming Lazy Functions using Comportment Properties
Ross Paterson, Programming Languages: Implementations, Logics and Programs, LNCS, vol. 1292, pp. 111-125, Springer, Southampton, UK, 1997.

7 Type errors

Improving type-error messages in functional languages
B. Heeren, J. Jeuring, S. D. Swierstra, and P. A. Alcocer. Technical Report UU-CS-2002-009, Institute of Information and Computing Science, University Utrecht, Netherlands, February 2002