Research papers/Runtime systems: Difference between revisions
(Updated links (removed link to "Template Greencard", not found on the web)) |
mNo edit summary |
||
(13 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
;[ | ==System design== | ||
;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.3729&rep=rep1&type=pdf 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) | :SL Peyton Jones, Journal of Functional Programming 2(2), Apr 1992, pp127-202. (Cited by 206) | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.6776&rep=rep1&type=pdf 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) | :Simon Marlow and Simon Peyton Jones, Proc International Conference on Functional Programming, Snowbird, Sept 2004, pp4-15. (Cited by 6) | ||
;[ | ;[https://www.koreascience.or.kr/article/JAKO200211921030505.pdf 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. | |||
;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.5176&rep=rep1&type=pdf The New GHC/Hugs Runtime System] | |||
:Simon Marlow and Simon Peyton Jones. (Unpublished.) (Cited by 6) | :Simon Marlow and Simon Peyton Jones. (Unpublished.) (Cited by 6) | ||
;[ | ;[https://www.cambridge.org/core/services/aop-cambridge-core/content/view/D76BABE75A9AD9902ECED03A5FFC0318/S0956796800000617a.pdf/interactive_lazy_ml_system.pdf The interactive Lazy ML System] | ||
:Lennart Augustsson, J. Funct. Program. 3(1): 77-92 (1993) (Cited by 3) | :Lennart Augustsson, J. Funct. Program. 3(1): 77-92 (1993) (Cited by 3) | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.7399&rep=rep1&type=pdf 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. | ||
Line 22: | Line 27: | ||
: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. | ;[http://www.macs.hw.ac.uk/~fairouz/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. | ||
;[ | ;[https://www.cs.unm.edu/~darko/papers/Stelle-CactusEnvironmentMachine-TFP2016.pdf Cactus Environment Machine: Shared Environment Call-by-Need] | ||
:George Stelle, Darko Stefanovic, Stephen L. Olivier, and Stephanie Forrest. ''TFP''(2016). | |||
;[https://www.softlab.ntua.gr/~gfour/files/padl-2013.pdf The Generalized Intensional Transformation for Implementing Lazy Functional Languages] | |||
:Georgios Fourtounis, Nikolaos Papaspyrou, and Panos Rondogiannis. ''PADL''(2013). | |||
;[http://www.zerny.dk/danvy-al-tcs12.pdf 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. | |||
;[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] | ;[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 | :Nicholas Nethercote, In Proceedings of the ACM SIGPLAN Workshop on Memory System Performance. 2003 | ||
;[https://www.pauldownen.com/publications/first-class-call-stacks.pdf 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== | ==Profiling== | ||
;[ | ;[https://dl.acm.org/doi/pdf/10.1145/244795.244802 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. | ||
;[ | ;[https://simon.peytonjones.org/publications-1999/#time-and-space-profiling-for-non-strict-higher-order-functional-languages 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. | :P Sansom and SL Peyton Jones, 22nd ACM Symposium on Principles of Programming Languages (POPL'95), San Francisco, Jan 1995, pp355-366. | ||
;[http:// | ;[http://theses.gla.ac.uk/75809/1/13818545.pdf Execution profiling for non-strict functional languages] | ||
: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. | ;[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:// | ;[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. | ||
Line 52: | Line 69: | ||
See also [[Research_papers/Parallelism_and_concurrency#Parallel_garbage_collection|parallel garbage collection]] | See also [[Research_papers/Parallelism_and_concurrency#Parallel_garbage_collection|parallel garbage collection]] | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.62.4312&rep=rep1&type=pdf 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. | :Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While, International Symposium on Memory Management, Vancouver, 2004. | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.4060&rep=rep1&type=pdf Non-stop Haskell] | ||
:Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While. ICFP 2000. | :Andy Cheadle, Tony Field, Simon Marlow, Simon Peyton Jones, and Lyndon While. ICFP 2000. | ||
;[ | ;[https://dl.acm.org/doi/pdf/10.1145/165180.165195 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. | :P Sansom and SL Peyton Jones Proc Functional Programming Languages and Computer Architecture (FPCA'93), Copenhagen, June 1993, pp106-116. | ||
;[ | ;[https://www.cs.york.ac.uk/ftpdir/pub/malcolm/rtgc.ps.Z An Incremental Garbage Collector for Embedded Real-Time Systems], | ||
:Malcolm Wallace and Colin Runciman. Proceedings of Chalmers Winter Meeting, June 1993. | :Malcolm Wallace and Colin Runciman. Proceedings of Chalmers Winter Meeting, June 1993. | ||
Line 69: | Line 86: | ||
==Optimistic Evaluation== | ==Optimistic Evaluation== | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.9901&rep=rep1&type=pdf 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). | :Robert Ennals and Simon Peyton Jones, Proc ACM International Conference on Functional Programming, Uppsala, Aug 2003 (ICFP'03). | ||
;[ | ;[https://dl.acm.org/citation.cfm?id=581694 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 | :Jan-Willem Maessen. Proceedings of the 2002 ACM SIGPLAN workshop on Haskell. Pittsburgh, Pennsylvania. 38 - 50. 2002 ISBN 1-58113-605-6 | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.333&rep=rep1&type=pdf Cheap Eagerness: Speculative Evaluation in a Lazy Functional Language] | ||
:Karl-Filip Faxn. ICFP 2000. September 2000. | :Karl-Filip Faxn. ICFP 2000. September 2000. | ||
Line 83: | Line 100: | ||
: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:// | ;[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:// | ;[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 | ||
==Foreign language interfaces== | ==Foreign language interfaces== | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1051.452&rep=rep1&type=pdf Scripting COM components in Haskell] | ||
:SL Peyton Jones, E Meijer, and D Leijen, Software Reuse 1998. | :SL Peyton Jones, E Meijer, and D Leijen, Software Reuse 1998. | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1.8003&rep=rep1&type=pdf Calling hell from heaven and heaven from hell] | ||
:Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones. ICFP '99. | :Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones. ICFP '99. | ||
;[ | ;[https://www.haskell.org/nhc98/greencard.html Green Card: a foreign-language interface for Haskell] | ||
:T Nordin and SL Peyton Jones, Proceedings of the Haskell Workshop, Amsterdam, June 1997. | :T Nordin and SL Peyton Jones, Proceedings of the Haskell Workshop, Amsterdam, June 1997. | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26.5605&rep=rep1&type=pdf 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. | :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. | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1051.1603&rep=rep1&type=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 | ||
Line 114: | Line 128: | ||
: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. | ||
;[ | ;[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.146.43&rep=rep1&type=pdf Faster laziness using dynamic pointer tagging] | ||
:Simon Marlow, Alexey Rodriguez Yakushev, and Simon Peyton Jones. Submitted to ICFP 2007. | :Simon Marlow, Alexey Rodriguez Yakushev, and Simon Peyton Jones. Submitted to ICFP 2007. | ||
[[Category:Research]] | [[Category:Research]] | ||
[[Category:Korean]] |
Latest revision as of 05:28, 1 September 2022
System design
- 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
- 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
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
- 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
- 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
- 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
- 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.