Difference between revisions of "Research papers/Compilation"
Jump to navigation
Jump to search
DonStewart (talk | contribs) (subpage for compilation-related papers) |
DonStewart (talk | contribs) (+papers) |
||
Line 1: | Line 1: | ||
+ | |||
__TOC__ |
__TOC__ |
||
Line 66: | Line 67: | ||
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/float.ps.gz&pub=ACM Let-floating: moving bindings to give faster programs] |
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/float.ps.gz&pub=ACM 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. |
:(ICFP '96), SL Peyton Jones, WD Partain, A Santos, Proc International Conference on Functional Programming, Philadelphia (ICFP'96), May 1996. |
||
+ | |||
+ | ===Free variables=== |
||
+ | |||
+ | ;[http://www.dcs.st-andrews.ac.uk/~james/RESEARCH/notanum.pdf 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 |
||
===Deforestation=== |
===Deforestation=== |
||
Line 82: | Line 88: | ||
;[http://research.microsoft.com/~simonpj/Papers/grasp-jfit.ps.Z The Glasgow Haskell compiler: a technical overview] |
;[http://research.microsoft.com/~simonpj/Papers/grasp-jfit.ps.Z 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. |
: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. |
||
+ | |||
+ | ;[http://www.cs.uu.nl/people/doaitse/papers/2003/TypeSafeSelfInspecting.pdf 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 |
||
==Intermediate languages== |
==Intermediate languages== |
||
Line 96: | Line 105: | ||
;[http://www.cse.unsw.edu.au/~chak/papers/SCP06.html System F with Type Equality Coercions] |
;[http://www.cse.unsw.edu.au/~chak/papers/SCP06.html System F with Type Equality Coercions] |
||
:Martin Sulzmann, Manuel M. T. Chakravarty, and Simon Peyton Jones. |
:Martin Sulzmann, Manuel M. T. Chakravarty, and Simon Peyton Jones. |
||
+ | |||
+ | ==Type inference== |
||
+ | |||
+ | ;[http://www.cs.uu.nl/groups/ST/stbib/swierstra-by-year/HHS-scripting.bib 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. |
||
==Compilation by transformation== |
==Compilation by transformation== |
||
Line 113: | Line 127: | ||
;[http://www.soi.city.ac.uk/~ross/papers/embeddings.html Transforming Lazy Functions using Comportment Properties] |
;[http://www.soi.city.ac.uk/~ross/papers/embeddings.html Transforming Lazy Functions using Comportment Properties] |
||
:Ross Paterson, Programming Languages: Implementations, Logics and Programs, LNCS, vol. 1292, pp. 111-125, Springer, Southampton, UK, 1997. |
:Ross Paterson, Programming Languages: Implementations, Logics and Programs, LNCS, vol. 1292, pp. 111-125, Springer, Southampton, UK, 1997. |
||
+ | |||
+ | ==Type errors== |
||
+ | |||
+ | ;[http://www.cs.uu.nl/groups/ST/stbib/swierstra-by-year/heeren2002improving.bib 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 |
Revision as of 13:04, 9 April 2006
Compiler Analyses
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.
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.
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.
Laziness
- Avoiding Unnecessary Updates
- John Hughes, John Launchbury, Andy Gill, Simon Marlow, Simon Peyton Jones, and Philip Wadler. 1993 Glasgow Workshop on Functional Programming.
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.
Abstract interpretation
- Fast Abstract Interpretation Using Sequential Algorithms
- John Hughes and Alex Ferguson. The Workshop on Static Analysis, WSA 1993: 45-59
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.
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.
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
Deforestation
- 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.
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
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.
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.
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.
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