Research papers/Runtime systems

From HaskellWiki

System design[edit]

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)
Making a fast curry: push/enter vs eval/apply for higher-order languages
Simon Marlow and Simon Peyton Jones, Proc International Conference on Functional Programming, Snowbird, Sept 2004, pp4-15. (Cited by 6)
Compiling Lazy Functional Programs to Java on the basis of Spineless Tagless G-Machine with Eval-Apply Model
Byeong-Gyu Nam, Kwang-Hoon Choi and Taisock Han. Journal of KIISE:Software and Applications, vol. 29, issue 5, pages 326-335, 2002.
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.
Cactus Environment Machine: Shared Environment Call-by-Need
George Stelle, Darko Stefanovic, Stephen L. Olivier, and Stephanie Forrest. TFP(2016).
The Generalized Intensional Transformation for Implementing Lazy Functional Languages
Georgios Fourtounis, Nikolaos Papaspyrou, and Panos Rondogiannis. PADL(2013).
On Inter-deriving Small-step and Big-step Semantics: A Case Study for Storeless Call-by-need Evaluation
Olivier Danvy, Kevin Millikin, Johan Munk, and Ian Zerny. Theoretical Computer Science, 435:21–42, 2012.
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
First Class Call Stacks: Exploring Head Reduction
Philip Johnson-Freyd, Paul Downen and Zena M. Ariola; Olivier Danvy & Ugo de’Liguoro (Eds.): WoC’15 Post-proceedings EPTCS 212, 2016, pages 18–35.

Profiling[edit]

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.

Garbage collection[edit]

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.

Optimistic Evaluation[edit]

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.

Dynamic linking[edit]

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.

Loop detection[edit]

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

Foreign language interfaces[edit]

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.
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.