Personal tools

Research papers/Runtime systems

From HaskellWiki

< Research papers(Difference between revisions)
Jump to: navigation, search
(Updated dead links)
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
   
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/spineless-tagless-gmachine.ps.gz&pub=34 Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine]
+
;[http://research.microsoft.com/~simonpj/Papers/spineless-tagless-gmachine.ps.gz Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine]
:SL Peyton Jones, Journal of Functional Programming 2(2), Apr 1992, pp127-202.
+
:SL Peyton Jones, Journal of Functional Programming 2(2), Apr 1992, pp127-202. (Cited by 206)
   
 
;[http://research.microsoft.com/~simonpj/Papers/eval-apply/index.htm How to make a fast curry: push/enter vs eval/apply]
 
;[http://research.microsoft.com/~simonpj/Papers/eval-apply/index.htm How to make a fast curry: push/enter vs eval/apply]
:Simon Marlow and Simon Peyton Jones, Proc International Conference on Functional Programming, Snowbird, Sept 2004, pp4-15.
+
:Simon Marlow and Simon Peyton Jones, Proc International Conference on Functional Programming, Snowbird, Sept 2004, pp4-15. (Cited by 6)
   
 
;[http://research.microsoft.com/~simonpj/Papers/new-rts.htm The New GHC/Hugs Runtime System]
 
;[http://research.microsoft.com/~simonpj/Papers/new-rts.htm The New GHC/Hugs Runtime System]
:Simon Marlow and Simon Peyton Jones. (Unpublished.)
+
:Simon Marlow and Simon Peyton Jones. (Unpublished.) (Cited by 6)
   
 
;[ftp://ftp.cs.chalmers.se/pub/cs-reports/papers/jfp-interactive.ps.Z The interactive Lazy ML System]
 
;[ftp://ftp.cs.chalmers.se/pub/cs-reports/papers/jfp-interactive.ps.Z The interactive Lazy ML System]
:Lennart Augustsson, J. Funct. Program. 3(1): 77-92 (1993)
+
:Lennart Augustsson, J. Funct. Program. 3(1): 77-92 (1993) (Cited by 3)
   
 
;[http://research.microsoft.com/~simonpj/Papers/weak.htm Stretching the storage manager: weak pointers and stable names in Haskell]
 
;[http://research.microsoft.com/~simonpj/Papers/weak.htm Stretching the storage manager: weak pointers and stable names in Haskell]
 
:Simon Peyton Jones, Simon Marlow, and Conal Elliott. Proc Workshop on Implementing Functional Languages, 1999.
 
:Simon Peyton Jones, Simon Marlow, and Conal Elliott. Proc Workshop on Implementing Functional Languages, 1999.
   
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/ifl98/index.html Putting the Spine back in the Spineless Tagless G-machine: An Implementation of Resumable Blackholes]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.411 Putting the Spine back in the Spineless Tagless G-machine: An Implementation of Resumable Blackholes]
 
:A. Reid, In Proceedings of Implementation of Functional Languages (IFL98), Lecture Notes in Computer Science, volume 1595, pp 189-202, Springer Verlag, 1999.
 
:A. Reid, In Proceedings of Implementation of Functional Languages (IFL98), Lecture Notes in Computer Science, volume 1595, pp 189-202, Springer Verlag, 1999.
   
Line 22: Line 22:
 
:Ian Holyer and Eleni Spiliopoulou. University of Bristol. Technical Report CSTR-98-003. March 1998.
 
:Ian Holyer and Eleni Spiliopoulou. University of Bristol. Technical Report CSTR-98-003. March 1998.
   
;[http://www.cs.bris.ac.uk/~spilio/festival.ps.gz The Brisk Machine: the Next Step in the Execution of Functional Languages]
+
;[http://www.cedar-forest.org/forest/events/festival/workshop1/spiliopoulou.ps The Brisk Machine: the Next Step in the Execution of Functional Languages]
 
:Eleni Spiliopoulou. Proceedings of Festival Workshop in Foundations and Computations, FC'00. July 2000.
 
:Eleni Spiliopoulou. Proceedings of Festival Workshop in Foundations and Computations, FC'00. July 2000.
   
;[http://www.cs.chalmers.se/~boquist/ifl96.ps The GRIN Project: A Highly Optimising Back End For Lazy Functional Languages]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.3918 The GRIN Project: A Highly Optimising Back End For Lazy Functional Languages]
 
:Urban Boquist and Thomas Johnsson. 8th International Workshop on Implementation of Functional Languages. LNCS 1268. September 1996.
 
:Urban Boquist and Thomas Johnsson. 8th International Workshop on Implementation of Functional Languages. LNCS 1268. September 1996.
  +
  +
;[http://www.cl.cam.ac.uk/~am21/papers/msp02.ps.gz The Cache Behaviour of Large Lazy Functional Programs on Stock Hardware]
  +
:Nicholas Nethercote, In Proceedings of the ACM SIGPLAN Workshop on Memory System Performance. 2003
   
 
==Profiling==
 
==Profiling==
   
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/1997_profiling_TOPLAS.ps.gz&pub=ACM Formally-based profiling for higher-order functional languages]
+
;[http://research.microsoft.com/apps/pubs/default.aspx?id=68455 Formally-based profiling for higher-order functional languages]
 
:PM Sansom and SL Peyton Jones, ACM Transactions on Programming Languages and Systems, 19(2), March 1997, pp 334-385.
 
:PM Sansom and SL Peyton Jones, ACM Transactions on Programming Languages and Systems, 19(2), March 1997, pp 334-385.
   
Line 39: Line 42:
 
:P Sansom, PhD thesis, University of Glasgow, Nov 1994.
 
:P Sansom, PhD thesis, University of Glasgow, Nov 1994.
   
;[http://www.cs.york.ac.uk/ftpdir/reports/YCS-92-172.ps.Z Heap Profiling of Lazy Functional Programs]
+
;[http://www.cs.york.ac.uk/ftpdir/reports/92/YCS/172/YCS-92-172.pdf Heap Profiling of Lazy Functional Programs]
 
:Colin Runciman and David Wakeling. York University. YCS-92-172. 1992.
 
:Colin Runciman and David Wakeling. York University. YCS-92-172. 1992.
   
;[http://www.cs.york.ac.uk/ftpdir/reports/YCS-95-256.ps.Z New Dimensions in Heap Profiling]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.9361 New Dimensions in Heap Profiling]
 
:Colin Runciman and Niklas Rojemo. York University. YCS-95-256. 1995.
 
:Colin Runciman and Niklas Rojemo. York University. YCS-95-256. 1995.
   
 
==Garbage collection==
 
==Garbage collection==
  +
  +
See also [[Research_papers/Parallelism_and_concurrency#Parallel_garbage_collection|parallel garbage collection]]
   
 
;[http://research.microsoft.com/~simonpj/Papers/non-stop/index.htm Exploring the Barrier to Entry: Incremental Generational Garbage Collection for Haskell]
 
;[http://research.microsoft.com/~simonpj/Papers/non-stop/index.htm Exploring the Barrier to Entry: Incremental Generational Garbage Collection for Haskell]
Line 71: Line 76:
   
 
;[http://www.it.kth.se/~kff/cheap.ps.gz Cheap Eagerness: Speculative Evaluation in a Lazy Functional Language]
 
;[http://www.it.kth.se/~kff/cheap.ps.gz Cheap Eagerness: Speculative Evaluation in a Lazy Functional Language]
:Karl-Filip Fax�n. ICFP 2000. September 2000.
+
:Karl-Filip Faxn. ICFP 2000. September 2000.
   
 
==Dynamic linking==
 
==Dynamic linking==
Line 78: Line 83:
 
:Andre Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 10-21. ACM Press, 2004
 
:Andre Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 10-21. ACM Press, 2004
   
;[http://www.cse.unsw.edu.au/~dons/papers/SC05.html Dynamic Applications From the Ground Up]
+
;[http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.1406 Dynamic Applications From the Ground Up]
 
:Don Stewart and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 27-38. ACM Press, 2005.
 
:Don Stewart and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 27-38. ACM Press, 2005.
   
 
==Loop detection==
 
==Loop detection==
   
;[http://www.cs.chalmers.se/~rjmh/Papers/cds-loops.ps A Loop-detecting Interpreter for Lazy, Higher-order Programs]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2888 A Loop-detecting Interpreter for Lazy, Higher-order Programs]
 
:Alex Ferguson and John Hughes. The 1992 Glasgow Workshop on Functional Programming. 85-101
 
:Alex Ferguson and John Hughes. The 1992 Glasgow Workshop on Functional Programming. 85-101
 
==Concurrency==
 
 
;[http://research.microsoft.com/~simonpj/Papers/conc-ffi/index.htm Extending the Haskell Foreign Function Interface with Concurrency]
 
:Simon Marlow, Simon Peyton Jones, and Wolfgang Thaller, Proceedings of the Haskell Workshop, Snowbird, Sept 2004.
 
 
;[http://research.microsoft.com/copyright/accept.asp?path=/users/simonpj/papers/concurrent-haskell.ps.gz&pub=ACM Concurrent Haskell]
 
:SL Peyton Jones, A Gordon, S Finne, 23rd ACM Symposium on Principles of Programming Languages, St Petersburg Beach, Florida, Jan 1996, pp295-308.
 
 
;[http://research.microsoft.com/~simonpj/Papers/marktoberdorf Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell]
 
:In "Engineering theories of software construction", ed Tony Hoare, Manfred Broy, Ralf Steinbruggen, IOS Press, ISBN 1 58603 1724, 2001, pp47-96.
 
 
;[http://www.haskell.org/~simonmar/papers/web-server-jfp.pdf Developing a high-performance web server in Concurrent Haskell]
 
:Simon Marlow. Journal of Functional Programming, 12(4+5):359--374, July 2002
 
 
==Parallel Haskell==
 
 
;[http://www.haskell.org/~simonmar/papers/multiproc.pdf Haskell on a Shared-Memory Multiprocessor]
 
:Tim Harris, Simon Marlow, Simon Peyton Jones) Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, pages 49--61, Tallinn, Estonia, ACM Press, September 2005
 
 
==Software transactional memory==
 
 
;[http://www.haskell.org/~simonmar/papers/stm.pdf Composable Memory Transactions]
 
:Tim Harris, Simon Marlow, Simon Peyton Jones, Maurice Herlihy. PPoPP'05: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Chicago, Illinois, June 2005
 
 
;[http://www.haskell.org/~simonmar/papers/lockfreedatastructures.pdf Lock Free Data Structures using STMs in Haskell]
 
:Anthony Discolo, Tim Harris, Simon Marlow, Simon Peyton Jones, Satnam Singh) FLOPS 2006: Eighth International Symposium on Functional and Logic Programming, Fuji Susono, JAPAN, April 2006
 
   
 
==Foreign language interfaces==
 
==Foreign language interfaces==
Line 130: Line 108:
 
:Manuel M. T. Chakravarty. In Pieter Koopman and Chris Clack, editors, Implementation of Functional Languages, 11th. International Workshop (IFL'99), Springer-Verlag, LNCS 1868, 2000.
 
:Manuel M. T. Chakravarty. In Pieter Koopman and Chris Clack, editors, Implementation of Functional Languages, 11th. International Workshop (IFL'99), Springer-Verlag, LNCS 1868, 2000.
   
;[http://www.galois.com/~sof/papers/hdirect.ps.gz H/Direct: A Binary Foreign Language Interface for Haskell]
+
;[http://research.microsoft.com/~emeijer/Papers/HDirect.pdf H/Direct: A Binary Foreign Language Interface for Haskell]
 
:Sigbjorn Finne, Daan Leijen, Erik Meijer and Simon Peyton Jones. Presented at the International Conference on Functional Programming, Baltimore, M
 
:Sigbjorn Finne, Daan Leijen, Erik Meijer and Simon Peyton Jones. Presented at the International Conference on Functional Programming, Baltimore, M
   
 
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/ifl03/index.html Template Greencard]
 
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/ifl03/index.html Template Greencard]
 
:A. Reid. To be presented at IFL 2003, 15th International Workshop on the Implementation of Functional Languages, Edinburgh, Scotland, September 8-10, 2003.
 
:A. Reid. To be presented at IFL 2003, 15th International Workshop on the Implementation of Functional Languages, Edinburgh, Scotland, September 8-10, 2003.
  +
  +
;[http://research.microsoft.com/~simonpj/papers/ptr-tag/index.htm Faster laziness using dynamic pointer tagging]
  +
:Simon Marlow, Alexey Rodriguez Yakushev, and Simon Peyton Jones. Submitted to ICFP 2007.
  +
  +
[[Category:Research]]

Latest revision as of 22:54, 14 February 2012

Contents


Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine
SL Peyton Jones, Journal of Functional Programming 2(2), Apr 1992, pp127-202. (Cited by 206)
How to make a fast curry: push/enter vs eval/apply
Simon Marlow and Simon Peyton Jones, Proc International Conference on Functional Programming, Snowbird, Sept 2004, pp4-15. (Cited by 6)
The New GHC/Hugs Runtime System
Simon Marlow and Simon Peyton Jones. (Unpublished.) (Cited by 6)
The interactive Lazy ML System
Lennart Augustsson, J. Funct. Program. 3(1): 77-92 (1993) (Cited by 3)
Stretching the storage manager: weak pointers and stable names in Haskell
Simon Peyton Jones, Simon Marlow, and Conal Elliott. Proc Workshop on Implementing Functional Languages, 1999.
Putting the Spine back in the Spineless Tagless G-machine: An Implementation of Resumable Blackholes
A. Reid, In Proceedings of Implementation of Functional Languages (IFL98), Lecture Notes in Computer Science, volume 1595, pp 189-202, Springer Verlag, 1999.
The Brisk Machine: A Simplified STG Machine
Ian Holyer and Eleni Spiliopoulou. University of Bristol. Technical Report CSTR-98-003. March 1998.
The Brisk Machine: the Next Step in the Execution of Functional Languages
Eleni Spiliopoulou. Proceedings of Festival Workshop in Foundations and Computations, FC'00. July 2000.
The GRIN Project: A Highly Optimising Back End For Lazy Functional Languages
Urban Boquist and Thomas Johnsson. 8th International Workshop on Implementation of Functional Languages. LNCS 1268. September 1996.
The Cache Behaviour of Large Lazy Functional Programs on Stock Hardware
Nicholas Nethercote, In Proceedings of the ACM SIGPLAN Workshop on Memory System Performance. 2003

[edit] 1 Profiling

Formally-based profiling for higher-order functional languages
PM Sansom and SL Peyton Jones, ACM Transactions on Programming Languages and Systems, 19(2), March 1997, pp 334-385.
Time and space profiling for non-strict functional languages
P Sansom and SL Peyton Jones, 22nd ACM Symposium on Principles of Programming Languages (POPL'95), San Francisco, Jan 1995, pp355-366.
Execution profiling for non-strict functional languages
P Sansom, PhD thesis, University of Glasgow, Nov 1994.
Heap Profiling of Lazy Functional Programs
Colin Runciman and David Wakeling. York University. YCS-92-172. 1992.
New Dimensions in Heap Profiling
Colin Runciman and Niklas Rojemo. York University. YCS-95-256. 1995.

[edit] 2 Garbage collection

See also parallel garbage collection

Exploring the Barrier to Entry: Incremental Generational Garbage Collection for Haskell
Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While, International Symposium on Memory Management, Vancouver, 2004.
Non-stop Haskell
Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While. ICFP 2000.
Generational garbage collection for Haskell
P Sansom and SL Peyton Jones Proc Functional Programming Languages and Computer Architecture (FPCA'93), Copenhagen, June 1993, pp106-116.
An Incremental Garbage Collector for Embedded Real-Time Systems,
Malcolm Wallace and Colin Runciman. Proceedings of Chalmers Winter Meeting, June 1993.
Fixing some space leaks with a garbage collector
Philip Wadler. Software Practice and Experience, 17(9):595-608, September 1987.

[edit] 3 Optimistic Evaluation

Optimistic Evaluation: an adaptive evaluation strategy for non-strict programs
Robert Ennals and Simon Peyton Jones, Proc ACM International Conference on Functional Programming, Uppsala, Aug 2003 (ICFP'03).
Eager Haskell: Resource-bounded Execution Yields Efficient Iteration
Jan-Willem Maessen. Proceedings of the 2002 ACM SIGPLAN workshop on Haskell. Pittsburgh, Pennsylvania. 38 - 50. 2002 ISBN 1-58113-605-6
Cheap Eagerness: Speculative Evaluation in a Lazy Functional Language
Karl-Filip Faxn. ICFP 2000. September 2000.

[edit] 4 Dynamic linking

Plugging Haskell In
Andre Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 10-21. ACM Press, 2004
Dynamic Applications From the Ground Up
Don Stewart and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 27-38. ACM Press, 2005.

[edit] 5 Loop detection

A Loop-detecting Interpreter for Lazy, Higher-order Programs
Alex Ferguson and John Hughes. The 1992 Glasgow Workshop on Functional Programming. 85-101

[edit] 6 Foreign language interfaces

Scripting COM components in Haskell
SL Peyton Jones, E Meijer, and D Leijen, Software Reuse 1998.
Calling hell from heaven and heaven from hell
Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones. ICFP '99.
Green Card: a foreign-language interface for Haskell
T Nordin and SL Peyton Jones, Proceedings of the Haskell Workshop, Amsterdam, June 1997.
Calling heaven from hell, and hell from heaven
Sigbjorn Finne, Daan Leijen, Erik Meijer and Simon Peyton Jones. ICFP'99
C -> Haskell, or Yet Another Interfacing Tool
Manuel M. T. Chakravarty. In Pieter Koopman and Chris Clack, editors, Implementation of Functional Languages, 11th. International Workshop (IFL'99), Springer-Verlag, LNCS 1868, 2000.
H/Direct: A Binary Foreign Language Interface for Haskell
Sigbjorn Finne, Daan Leijen, Erik Meijer and Simon Peyton Jones. Presented at the International Conference on Functional Programming, Baltimore, M
Template Greencard
A. Reid. To be presented at IFL 2003, 15th International Workshop on the Implementation of Functional Languages, Edinburgh, Scotland, September 8-10, 2003.
Faster laziness using dynamic pointer tagging
Simon Marlow, Alexey Rodriguez Yakushev, and Simon Peyton Jones. Submitted to ICFP 2007.