skip to main content
Skip header Section
Compiling with continuationsJanuary 1992
Publisher:
  • Cambridge University Press
  • 40 W. 20 St. New York, NY
  • United States
ISBN:978-0-521-41695-5
Published:02 January 1992
Pages:
262
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Georges A, Guéneau A, Van Strydonck T, Timany A, Trieu A, Devriese D and Birkedal L (2024). Cerise: Program Verification on a Capability Machine in the Presence of Untrusted Code, Journal of the ACM, 71:1, (1-59), Online publication date: 29-Feb-2024.
  2. ACM
    Moine A, Westrick S and Balzer S (2024). DisLog: A Separation Logic for Disentanglement, Proceedings of the ACM on Programming Languages, 8:POPL, (302-331), Online publication date: 5-Jan-2024.
  3. Germane K m-CFA Exhibits Perfect Stack Precision Programming Languages and Systems, (290-309)
  4. ACM
    Sullivan Z, Downen P and Ariola Z Closure Conversion in Little Pieces Proceedings of the 25th International Symposium on Principles and Practice of Declarative Programming, (1-13)
  5. ACM
    Richter D, Kretzler D, Weisenburger P, Salvaneschi G, Faust S and Mezini M (2023). Prisma : A Tierless Language for Enforcing Contract-client Protocols in Decentralized Applications, ACM Transactions on Programming Languages and Systems, 45:3, (1-41), Online publication date: 30-Sep-2023.
  6. ACM
    Huang Y and Yallop J (2023). Defunctionalization with Dependent Types, Proceedings of the ACM on Programming Languages, 7:PLDI, (516-538), Online publication date: 6-Jun-2023.
  7. Wei G, Jia S, Gao R, Deng H, Tan S, Bračevac O and Rompf T Compiling Parallel Symbolic Execution with Continuations Proceedings of the 45th International Conference on Software Engineering, (1316-1328)
  8. ACM
    Clements J and Krishnamurthi S Towards a Notional Machine for Runtime Stacks and Scope: When Stacks Don’t Stack Up Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1, (206-222)
  9. ACM
    Elizarov R, Belyaev M, Akhin M and Usmanov I Kotlin coroutines: design and implementation Proceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, (68-84)
  10. ACM
    Paraskevopoulou Z and Grover A (2021). Compiling with continuations, correctly, Proceedings of the ACM on Programming Languages, 5:OOPSLA, (1-29), Online publication date: 20-Oct-2021.
  11. ACM
    Quiring B, Reppy J and Shivers O 3CPS: The Design of an Environment-Focussed Intermediate Representation Proceedings of the 33rd Symposium on Implementation and Application of Functional Languages, (20-28)
  12. ACM
    Jiang H, Zhang H, Tang X, Govindaraj V, Sampson J, Kandemir M and Zhang D Fluid: a framework for approximate concurrency via controlled dependency relaxation Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, (252-267)
  13. ACM
    Farvardin K and Reppy J A New Backend for Standard ML of New Jersey Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages, (55-66)
  14. ACM
    MacQueen D, Harper R and Reppy J (2020). The history of Standard ML, Proceedings of the ACM on Programming Languages, 4:HOPL, (1-100), Online publication date: 14-Jun-2020.
  15. ACM
    Farvardin K and Reppy J From folklore to fact: comparing implementations of stacks and continuations Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, (75-90)
  16. Ying V, Jeffrey M and Sanchez D T4 Proceedings of the ACM/IEEE 47th Annual International Symposium on Computer Architecture, (159-172)
  17. ACM
    Paraskevopoulou Z and Appel A (2019). Closure conversion is safe for space, Proceedings of the ACM on Programming Languages, 3:ICFP, (1-29), Online publication date: 26-Jul-2019.
  18. ACM
    Cong Y, Osvald L, Essertel G and Rompf T (2019). Compiling with continuations, or without? whatever., Proceedings of the ACM on Programming Languages, 3:ICFP, (1-28), Online publication date: 26-Jul-2019.
  19. ACM
    Kuhlenschmidt A, Almahallawi D and Siek J Toward efficient gradual typing for structural types via coercions Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, (517-532)
  20. Charguéraud A and Pottier F (2019). Verifying the Correctness and Amortized Complexity of a Union-Find Implementation in Separation Logic with Time Credits, Journal of Automated Reasoning, 62:3, (331-365), Online publication date: 1-Mar-2019.
  21. ACM
    Aloor R and Nandivada V Efficiency and expressiveness in UW-OpenMP Proceedings of the 28th International Conference on Compiler Construction, (182-192)
  22. Wang F, Decker J, Wu X, Essertel G and Rompf T Backpropagation with continuation callbacks Proceedings of the 32nd International Conference on Neural Information Processing Systems, (10201-10212)
  23. ACM
    Jones M, Bailey J and Cooper T MIL, a Monadic Intermediate Language for Implementing Functional Languages Proceedings of the 30th Symposium on Implementation and Application of Functional Languages, (71-82)
  24. ACM
    Jung R, Jourdan J, Krebbers R and Dreyer D (2017). RustBelt: securing the foundations of the Rust programming language, Proceedings of the ACM on Programming Languages, 2:POPL, (1-34), Online publication date: 1-Jan-2018.
  25. ACM
    Maurer L, Downen P, Ariola Z and Peyton Jones S (2017). Compiling without continuations, ACM SIGPLAN Notices, 52:6, (482-494), Online publication date: 14-Sep-2017.
  26. ACM
    Maurer L, Downen P, Ariola Z and Peyton Jones S Compiling without continuations Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (482-494)
  27. ACM
    Philips L, De Koster J, De Meuter W and De Roover C (2016). Dependence-driven delimited CPS transformation for JavaScript, ACM SIGPLAN Notices, 52:3, (59-69), Online publication date: 12-May-2017.
  28. ACM
    Leger P and Fukuda H Sync/CC Proceedings of the Symposium on Applied Computing, (1245-1250)
  29. ACM
    Downen P, Maurer L, Ariola Z and Peyton Jones S (2016). Sequent calculus as a compiler intermediate language, ACM SIGPLAN Notices, 51:9, (74-88), Online publication date: 5-Dec-2016.
  30. ACM
    Philips L, De Koster J, De Meuter W and De Roover C Dependence-driven delimited CPS transformation for JavaScript Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, (59-69)
  31. ACM
    Downen P, Maurer L, Ariola Z and Peyton Jones S Sequent calculus as a compiler intermediate language Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, (74-88)
  32. ACM
    Danilewski P, Köster M, Leißa R, Membarth R and Slusallek P (2014). Specialization through dynamic staging, ACM SIGPLAN Notices, 50:3, (103-112), Online publication date: 12-May-2015.
  33. ACM
    Sommer R, Vallentin M, De Carli L and Paxson V HILTI Proceedings of the 2014 Conference on Internet Measurement Conference, (461-474)
  34. Cuadrado J and Aracil J (2014). Scheduling model-to-model transformations with continuations, Software—Practice & Experience, 44:11, (1351-1378), Online publication date: 1-Nov-2014.
  35. ACM
    Danilewski P, Köster M, Leißa R, Membarth R and Slusallek P Specialization through dynamic staging Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences, (103-112)
  36. ACM
    Nunes-Harwitt A From Naïve to Norvig On Deriving a PROLOG Compiler Proceedings of ILC 2014 on 8th International Lisp Conference, (70-78)
  37. ACM
    Stump A The recursive polarized dual calculus Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification, (3-14)
  38. Mendler M and Scheele S (2014). On the Computational Interpretation of CKn for Contextual Information Processing, Fundamenta Informaticae, 130:1, (125-162), Online publication date: 1-Jan-2014.
  39. ACM
    Kobayashi N (2013). Model Checking Higher-Order Programs, Journal of the ACM, 60:3, (1-62), Online publication date: 1-Jun-2013.
  40. Klein C, Flatt M and Findler R (2012). The Racket virtual machine and randomized testing, Higher-Order and Symbolic Computation, 25:2-4, (209-253), Online publication date: 1-Dec-2012.
  41. ACM
    Keep A, Hearn A and Dybvig R Optimizing closures in O(0) time Proceedings of the 2012 Annual Workshop on Scheme and Functional Programming, (30-35)
  42. ACM
    Midtgaard J (2012). Control-flow analysis of functional programs, ACM Computing Surveys, 44:3, (1-33), Online publication date: 1-Jun-2012.
  43. ACM
    Ahmed A and Blume M An equivalence-preserving CPS translation via multi-language semantics Proceedings of the 16th ACM SIGPLAN international conference on Functional programming, (431-444)
  44. ACM
    Gill A and Farmer A Deriving an efficient FPGA implementation of a low density parity check forward error corrector Proceedings of the 16th ACM SIGPLAN international conference on Functional programming, (209-220)
  45. ACM
    Vardoulakis D and Shivers O Pushdown flow analysis of first-class control Proceedings of the 16th ACM SIGPLAN international conference on Functional programming, (69-80)
  46. ACM
    Ahmed A and Blume M (2011). An equivalence-preserving CPS translation via multi-language semantics, ACM SIGPLAN Notices, 46:9, (431-444), Online publication date: 18-Sep-2011.
  47. ACM
    Gill A and Farmer A (2011). Deriving an efficient FPGA implementation of a low density parity check forward error corrector, ACM SIGPLAN Notices, 46:9, (209-220), Online publication date: 18-Sep-2011.
  48. ACM
    Vardoulakis D and Shivers O (2011). Pushdown flow analysis of first-class control, ACM SIGPLAN Notices, 46:9, (69-80), Online publication date: 18-Sep-2011.
  49. ACM
    Vardoulakis D and Shivers O Ordering multiple continuations on the stack Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation, (13-22)
  50. ACM
    Yasugi M, Komiya T, Hiraishi T and Umatani S Managing continuations for proper tail recursion Proceedings of the 2010 international conference on Lisp, (65-72)
  51. ACM
    Bergstrom L, Rainey M, Reppy J, Shaw A and Fluet M (2010). Lazy tree splitting, ACM SIGPLAN Notices, 45:9, (93-104), Online publication date: 27-Sep-2010.
  52. ACM
    Bergstrom L, Rainey M, Reppy J, Shaw A and Fluet M Lazy tree splitting Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, (93-104)
  53. ACM
    Kameyama Y and Tanaka A Equational axiomatization of call-by-name delimited control Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming, (77-86)
  54. ACM
    Might M, Smaragdakis Y and Van Horn D (2010). Resolving and exploiting the k-CFA paradox, ACM SIGPLAN Notices, 45:6, (305-315), Online publication date: 12-Jun-2010.
  55. ACM
    Might M, Smaragdakis Y and Van Horn D Resolving and exploiting the k-CFA paradox Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, (305-315)
  56. ACM
    Sewell P, Wojciechowski P and Unyapoth A (2010). Nomadic pict, ACM Transactions on Programming Languages and Systems, 32:4, (1-63), Online publication date: 1-Apr-2010.
  57. ACM
    Khoo Y, Hicks M, Foster J and Sazawal V (2009). Directing JavaScript with arrows, ACM SIGPLAN Notices, 44:12, (49-58), Online publication date: 25-Dec-2009.
  58. Resler R and Winter V (2009). A higher-order strategy for eliminating common subexpressions, Computer Languages, Systems and Structures, 35:4, (341-364), Online publication date: 1-Dec-2009.
  59. ACM
    Khoo Y, Hicks M, Foster J and Sazawal V Directing JavaScript with arrows Proceedings of the 5th symposium on Dynamic languages, (49-58)
  60. ACM
    Bolingbroke M and Peyton Jones S Types are calling conventions Proceedings of the 2nd ACM SIGPLAN symposium on Haskell, (1-12)
  61. Colson L and Michel D (2009). Pedagogical second-order λ-calculus, Theoretical Computer Science, 410:42, (4190-4203), Online publication date: 1-Sep-2009.
  62. ACM
    Rompf T, Maier I and Odersky M (2009). Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform, ACM SIGPLAN Notices, 44:9, (317-328), Online publication date: 31-Aug-2009.
  63. ACM
    Rompf T, Maier I and Odersky M Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, (317-328)
  64. Harrison W, Procter A, Agron J, Kimmell G and Allwein G Model-Driven Engineering from Modular Monadic Semantics Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages, (20-44)
  65. Cogumbreiro T, Martins F and Vasconcelos V (2009). Compiling the π-calculus into a Multithreaded Typed Assembly Language, Electronic Notes in Theoretical Computer Science (ENTCS), 241, (57-84), Online publication date: 1-Jul-2009.
  66. ACM
    Yang X, Cooprider N and Regehr J (2009). Eliminating the call stack to save RAM, ACM SIGPLAN Notices, 44:7, (60-69), Online publication date: 28-Jun-2009.
  67. ACM
    Yang X, Cooprider N and Regehr J Eliminating the call stack to save RAM Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, (60-69)
  68. ACM
    Rafkind J, Wick A, Regehr J and Flatt M Precise garbage collection for C Proceedings of the 2009 international symposium on Memory management, (39-48)
  69. Song Y, Aguilera M, Kotla R and Malkhi D RPC chains Proceedings of the 6th USENIX symposium on Networked systems design and implementation, (277-290)
  70. Midtgaard J and Jensen T A Calculational Approach to Control-Flow Analysis by Abstract Interpretation Proceedings of the 15th international symposium on Static Analysis, (347-362)
  71. Murphy T, Crary K and Harper R Type-safe distributed programming with ML5 Proceedings of the 3rd conference on Trustworthy global computing, (108-123)
  72. Liu H and Hudak P (2007). Plugging a Space Leak with an Arrow, Electronic Notes in Theoretical Computer Science (ENTCS), 193, (29-45), Online publication date: 1-Nov-2007.
  73. Dargaye Z and Leroy X Mechanized verification of CPS transformations Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning, (211-225)
  74. Dargaye Z and Leroy X Mechanized Verification of CPS Transformations Logic for Programming, Artificial Intelligence, and Reasoning, (211-225)
  75. ACM
    Kennedy A Compiling with continuations, continued Proceedings of the 12th ACM SIGPLAN international conference on Functional programming, (177-190)
  76. ACM
    Fluet M, Ford N, Rainey M, Reppy J, Shaw A and Xiao Y Status report Proceedings of the 2007 workshop on Workshop on ML, (15-24)
  77. ACM
    Kennedy A (2007). Compiling with continuations, continued, ACM SIGPLAN Notices, 42:9, (177-190), Online publication date: 1-Oct-2007.
  78. ACM
    Li P, Marlow S, Peyton Jones S and Tolmach A Lightweight concurrency primitives for GHC Proceedings of the ACM SIGPLAN workshop on Haskell workshop, (107-118)
  79. ACM
    Li P and Zdancewic S Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, (189-199)
  80. ACM
    Li P and Zdancewic S (2007). Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives, ACM SIGPLAN Notices, 42:6, (189-199), Online publication date: 10-Jun-2007.
  81. ACM
    Saha B, Adl-Tabatabai A, Ghuloum A, Rajagopalan M, Hudson R, Petersen L, Menon V, Murphy B, Shpeisman T, Sprangle E, Rohillah A, Carmean D and Fang J (2007). Enabling scalability and performance in a large scale CMP environment, ACM SIGOPS Operating Systems Review, 41:3, (73-86), Online publication date: 1-Jun-2007.
  82. ACM
    Saha B, Adl-Tabatabai A, Ghuloum A, Rajagopalan M, Hudson R, Petersen L, Menon V, Murphy B, Shpeisman T, Sprangle E, Rohillah A, Carmean D and Fang J Enabling scalability and performance in a large scale CMP environment Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, (73-86)
  83. ACM
    Fluet M, Rainey M, Reppy J, Shaw A and Xiao Y Manticore Proceedings of the 2007 workshop on Declarative aspects of multicore programming, (37-44)
  84. ACM
    Fischer J, Majumdar R and Millstein T Tasks Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (134-143)
  85. Might M, Chambers B and Shivers O Model checking via ΓCFA Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation, (59-73)
  86. ACM
    Colaço J, Hamon G and Pouzet M Mixing signals and modes in synchronous data-flow systems Proceedings of the 6th ACM & IEEE International conference on Embedded software, (73-82)
  87. ACM
    Blume M, Acar U and Chae W Extensible programming with first-class cases Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, (239-250)
  88. ACM
    Blume M, Acar U and Chae W (2006). Extensible programming with first-class cases, ACM SIGPLAN Notices, 41:9, (239-250), Online publication date: 16-Sep-2006.
  89. ACM
    Murphy T ML grid programming with ConCert Proceedings of the 2006 workshop on ML, (2-11)
  90. Lee H, von Dincklage D, Diwan A and Moss J (2006). Understanding the behavior of compiler optimizations, Software—Practice & Experience, 36:8, (835-844), Online publication date: 1-Jul-2006.
  91. ACM
    Feng X, Shao Z, Vaynberg A, Xiang S and Ni Z Modular verification of assembly code with stack-based control abstractions Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, (401-414)
  92. ACM
    Shivers O and Might M Continuations and transducer composition Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, (295-307)
  93. ACM
    Feng X, Shao Z, Vaynberg A, Xiang S and Ni Z (2006). Modular verification of assembly code with stack-based control abstractions, ACM SIGPLAN Notices, 41:6, (401-414), Online publication date: 11-Jun-2006.
  94. ACM
    Shivers O and Might M (2006). Continuations and transducer composition, ACM SIGPLAN Notices, 41:6, (295-307), Online publication date: 11-Jun-2006.
  95. Merro M and Biasi C (2006). On the Observational Theory of the CPS-calculus, Electronic Notes in Theoretical Computer Science (ENTCS), 158, (307-330), Online publication date: 1-May-2006.
  96. Rudiak-Gould B, Mycroft A and Jones S Haskell is not not ML Proceedings of the 15th European conference on Programming Languages and Systems, (38-53)
  97. Nandivada V and Jagannathan S (2006). Dynamic state restoration using versioning exceptions, Higher-Order and Symbolic Computation, 19:1, (101-124), Online publication date: 1-Mar-2006.
  98. Tian Y Mechanically verifying correctness of CPS compilation Proceedings of the Twelfth Computing: The Australasian Theory Symposium - Volume 51, (41-51)
  99. ACM
    Olinsky R, Lindig C and Ramsey N (2006). Staged allocation, ACM SIGPLAN Notices, 41:1, (409-421), Online publication date: 12-Jan-2006.
  100. ACM
    Olinsky R, Lindig C and Ramsey N Staged allocation Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (409-421)
  101. Tian Y Mechanically verifying correctness of CPS compilation Proceedings of the 12th Computing: The Australasian Theroy Symposium - Volume 51, (41-51)
  102. Shaham R, Yahav E, Kolodner E and Sagiv M (2005). Establishing local temporal heap safety properties with applications to compile-time memory management, Science of Computer Programming, 58:1-2, (264-289), Online publication date: 1-Oct-2005.
  103. ACM
    Sumii E MinCaml Proceedings of the 2005 workshop on Functional and declarative programming in education, (27-38)
  104. Padovani L Compilation of generic regular path expressions using c++ class templates Proceedings of the 14th international conference on Compiler Construction, (27-42)
  105. Matthews J, Findler R, Graunke P, Krishnamurthi S and Felleisen M (2004). Automatically Restructuring Programs for the Web, Automated Software Engineering, 11:4, (337-364), Online publication date: 1-Oct-2004.
  106. ACM
    Tolmach A, Antoy S and Nita M Implementing functional logic languages using multiple threads and stores Proceedings of the ninth ACM SIGPLAN international conference on Functional programming, (90-102)
  107. ACM
    Tolmach A, Antoy S and Nita M (2004). Implementing functional logic languages using multiple threads and stores, ACM SIGPLAN Notices, 39:9, (90-102), Online publication date: 19-Sep-2004.
  108. ACM
    Li P and Zdancewic S (2004). Advanced control flow in Java card programming, ACM SIGPLAN Notices, 39:7, (165-174), Online publication date: 11-Jul-2004.
  109. ACM
    Li P and Zdancewic S Advanced control flow in Java card programming Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, (165-174)
  110. ACM
    Zatarain R and Stansifer R A model of CPS translation and interpretation Proceedings of the 42nd annual Southeast regional conference, (326-331)
  111. ACM
    Tarditi D, Morrisett G, Cheng P, Stone C, Harper R and Lee P (2004). TIL, ACM SIGPLAN Notices, 39:4, (554-567), Online publication date: 1-Apr-2004.
  112. ACM
    Lee P and Leone M (2004). Optimizing ML with run-time code generation, ACM SIGPLAN Notices, 39:4, (540-553), Online publication date: 1-Apr-2004.
  113. ACM
    Flanagan C, Sabry A, Duba B and Felleisen M (2004). The essence of compiling with continuations, ACM SIGPLAN Notices, 39:4, (502-514), Online publication date: 1-Apr-2004.
  114. ACM
    Shivers O (2004). Higher-order control-flow analysis in retrospect, ACM SIGPLAN Notices, 39:4, (257-269), Online publication date: 1-Apr-2004.
  115. ACM
    Kranz D, Kelsey R, Rees J, Hudak P, Philbin J and Adams N (2004). Orbit, ACM SIGPLAN Notices, 39:4, (175-191), Online publication date: 1-Apr-2004.
  116. Aspinall D, Gilmore S, Hofmann M, Sannella D and Stark I Mobile resource guarantees for smart devices Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, (1-26)
  117. Führmann C and Thielecke H (2004). On the call-by-value CPS transform and its semantics, Information and Computation, 188:2, (241-283), Online publication date: 29-Jan-2004.
  118. ACM
    Minamide Y and Okuma K Verifying CPS transformations in Isabelle/HOL Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding, (1-8)
  119. ACM
    Hickey J, Nogin A and Granicz A Compiler implementation in a formal logical framework Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding, (1-13)
  120. Shaham R, Yahav E, Kolodner E and Sagiv M Establishing local temporal heap safety properties with applications to compile-time memory management Proceedings of the 10th international conference on Static analysis, (483-503)
  121. ACM
    George L and Blume M Taming the IXP network processor Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, (26-37)
  122. Gava F and Loulergue F A parallel virtual machine for bulk synchronous parallel ML Proceedings of the 1st international conference on Computational science: PartI, (155-164)
  123. ACM
    George L and Blume M (2003). Taming the IXP network processor, ACM SIGPLAN Notices, 38:5, (26-37), Online publication date: 9-May-2003.
  124. Monnier S and Shao Z (2003). Inlining as staged computation, Journal of Functional Programming, 13:3, (647-676), Online publication date: 1-May-2003.
  125. Danvy O A new one-pass transformation into monadic normal form Proceedings of the 12th international conference on Compiler construction, (77-89)
  126. ACM
    Amtoft T and Muller R (2003). Inferring annotated types for inter-procedural register allocation with constructor flattening, ACM SIGPLAN Notices, 38:3, (86-97), Online publication date: 18-Mar-2003.
  127. Dillon L and Stirewalt R (2003). Inference Graphs, IEEE Transactions on Software Engineering, 29:2, (133-150), Online publication date: 1-Feb-2003.
  128. ACM
    Amtoft T and Muller R Inferring annotated types for inter-procedural register allocation with constructor flattening Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation, (86-97)
  129. ACM
    Thielecke H (2003). From control effects to typed continuation passing, ACM SIGPLAN Notices, 38:1, (139-149), Online publication date: 15-Jan-2003.
  130. ACM
    Thielecke H From control effects to typed continuation passing Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (139-149)
  131. ACM
    Manolescu D (2002). Workflow enactment with continuation and future objects, ACM SIGPLAN Notices, 37:11, (40-51), Online publication date: 17-Nov-2002.
  132. ACM
    Manolescu D Workflow enactment with continuation and future objects Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (40-51)
  133. ACM
    Grégoire B and Leroy X A compiled implementation of strong reduction Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, (235-246)
  134. ACM
    Grégoire B and Leroy X (2002). A compiled implementation of strong reduction, ACM SIGPLAN Notices, 37:9, (235-246), Online publication date: 17-Sep-2002.
  135. Zdancewic S and Myers A (2002). Secure Information Flow via Linear Continuations, Higher-Order and Symbolic Computation, 15:2-3, (209-234), Online publication date: 1-Sep-2002.
  136. Reppy J (2002). Optimizing Nested Loops Using Local CPS Conversion, Higher-Order and Symbolic Computation, 15:2-3, (161-180), Online publication date: 1-Sep-2002.
  137. Peyton Jones S and Marlow S (2002). Secrets of the Glasgow Haskell Compiler inliner, Journal of Functional Programming, 12:5, (393-434), Online publication date: 1-Jul-2002.
  138. ACM
    Hallenberg N, Elsman M and Tofte M Combining region inference and garbage collection Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation, (141-152)
  139. Larus J and Parkes M Using Cohort-Scheduling to Enhance Server Performance Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference, (103-114)
  140. ACM
    Graunke P and Krishnamurthi S Advanced control flows for flexible graphical user interfaces Proceedings of the 24th International Conference on Software Engineering, (277-287)
  141. ACM
    Hallenberg N, Elsman M and Tofte M (2002). Combining region inference and garbage collection, ACM SIGPLAN Notices, 37:5, (141-152), Online publication date: 17-May-2002.
  142. ACM
    Barthe G and Uustalu T (2002). CPS translating inductive and coinductive types, ACM SIGPLAN Notices, 37:3, (131-142), Online publication date: 1-Mar-2002.
  143. ACM
    Ramsey N and Pfeffer A Stochastic lambda calculus and monads of probability distributions Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (154-165)
  144. ACM
    Boehm H Bounding space usage of conservative garbage collectors Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (93-100)
  145. ACM
    Barthe G and Uustalu T CPS translating inductive and coinductive types Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, (131-142)
  146. Itzstein G and Kearney D (2002). Applications of Join Java, Australian Computer Science Communications, 24:3, (37-46), Online publication date: 1-Jan-2002.
  147. Itzstein G and Kearney D Applications of Join Java Proceedings of the seventh Asia-Pacific conference on Computer systems architecture, (37-46)
  148. ACM
    Ramsey N and Pfeffer A (2002). Stochastic lambda calculus and monads of probability distributions, ACM SIGPLAN Notices, 37:1, (154-165), Online publication date: 1-Jan-2002.
  149. ACM
    Boehm H (2002). Bounding space usage of conservative garbage collectors, ACM SIGPLAN Notices, 37:1, (93-100), Online publication date: 1-Jan-2002.
  150. Biagioni E, Harper R and Lee P (2001). A Network Protocol Stack in Standard ML, Higher-Order and Symbolic Computation, 14:4, (309-356), Online publication date: 1-Dec-2001.
  151. ACM
    Dimock A, Westmacott I, Muller R, Turbak F and Wells J (2001). Functioning without closure, ACM SIGPLAN Notices, 36:10, (14-25), Online publication date: 1-Oct-2001.
  152. ACM
    Fluet M and Weeks S (2001). Contification using dominators, ACM SIGPLAN Notices, 36:10, (2-13), Online publication date: 1-Oct-2001.
  153. ACM
    Dimock A, Westmacott I, Muller R, Turbak F and Wells J Functioning without closure Proceedings of the sixth ACM SIGPLAN international conference on Functional programming, (14-25)
  154. ACM
    Fluet M and Weeks S Contification using dominators Proceedings of the sixth ACM SIGPLAN international conference on Functional programming, (2-13)
  155. Danvy O, Grobauer B and Rhiger M A unifying approach to goal-directed evaluation Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation, (108-125)
  156. Sumii E and Kobayashi N (2001). A Hybrid Approach to Online and Offline Partial Evaluation, Higher-Order and Symbolic Computation, 14:2-3, (101-142), Online publication date: 1-Sep-2001.
  157. ACM
    Hiroyuki S Array form representation of idiom recognition system for numerical programs Proceedings of the 2001 conference on APL: an arrays odyssey, (87-98)
  158. Johann P and Visser E (2001). Warm fusion in Stratego, Annals of Mathematics and Artificial Intelligence, 29:1-4, (1-34), Online publication date: 10-Jan-2001.
  159. ACM
    Hiroyuki S (2000). Array form representation of idiom recognition system for numerical programs, ACM SIGAPL APL Quote Quad, 31:2, (87-98), Online publication date: 1-Dec-2000.
  160. ACM
    Bakewell A and Runciman C A model for comparing the space usage of lazy evaluators Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming, (151-162)
  161. Hannan J and Hicks P (2000). Higher-Order UnCurrying, Higher-Order and Symbolic Computation, 13:3, (179-216), Online publication date: 1-Sep-2000.
  162. ACM
    Ramsey N and Peyton Jones S A single intermediate language that supports multiple implementations of exceptions Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, (285-298)
  163. ACM
    Ramsey N and Peyton Jones S (2000). A single intermediate language that supports multiple implementations of exceptions, ACM SIGPLAN Notices, 35:5, (285-298), Online publication date: 1-May-2000.
  164. Barthe G, Hatcliff J and Sørensen M (1999). CPS Translations and Applications, Higher-Order and Symbolic Computation, 12:2, (125-170), Online publication date: 1-Sep-1999.
  165. ACM
    Thielecke H (1999). Continuations, functions and jumps, ACM SIGACT News, 30:2, (33-42), Online publication date: 1-Jun-1999.
  166. ACM
    Leung A and George L (1999). Static single assignment form for machine code, ACM SIGPLAN Notices, 34:5, (204-214), Online publication date: 1-May-1999.
  167. ACM
    Leung A and George L Static single assignment form for machine code Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, (204-214)
  168. Clinger W, Hartheimer A and Ost E (1999). Implementation Strategies for First-Class Continuations, Higher-Order and Symbolic Computation, 12:1, (7-45), Online publication date: 1-Apr-1999.
  169. ACM
    Huelsbergen L and Winterbottom P (1998). Very concurrent mark-&-sweep garbage collection without fine-grain synchronization, ACM SIGPLAN Notices, 34:3, (166-175), Online publication date: 1-Mar-1999.
  170. ACM
    Duggan D (1999). Dynamic typing for distributed programming in polymorphic languages, ACM Transactions on Programming Languages and Systems, 21:1, (11-45), Online publication date: 1-Jan-1999.
  171. ACM
    Shao Z, League C and Monnier S (1998). Implementing typed intermediate languages, ACM SIGPLAN Notices, 34:1, (313-323), Online publication date: 1-Jan-1999.
  172. ACM
    Shao Z (1998). Typed cross-module compilation, ACM SIGPLAN Notices, 34:1, (141-152), Online publication date: 1-Jan-1999.
  173. ACM
    Benton N, Kennedy A and Russell G (1998). Compiling standard ML to Java bytecodes, ACM SIGPLAN Notices, 34:1, (129-140), Online publication date: 1-Jan-1999.
  174. ACM
    Hannan J and Hicks P (1998). Higher-order arity raising, ACM SIGPLAN Notices, 34:1, (27-38), Online publication date: 1-Jan-1999.
  175. ACM
    Visser E, Benaissa Z and Tolmach A (1998). Building program optimizers with rewriting strategies, ACM SIGPLAN Notices, 34:1, (13-26), Online publication date: 1-Jan-1999.
  176. ACM
    Minamide Y and Garrigue J (1998). On the runtime complexity of type-directed unboxing, ACM SIGPLAN Notices, 34:1, (1-12), Online publication date: 1-Jan-1999.
  177. Perumalla K and Fujimoto R Efficient large-scale process-oriented parallel simulations Proceedings of the 30th conference on Winter simulation, (459-466)
  178. Reynolds J (1998). Definitional Interpreters Revisited, Higher-Order and Symbolic Computation, 11:4, (355-361), Online publication date: 1-Dec-1998.
  179. ACM
    Macos D and Mueller F (1998). The rendezvous is dead—long live the protected object, ACM SIGAda Ada Letters, XVIII:6, (287-293), Online publication date: 1-Nov-1998.
  180. ACM
    Wong S and Levine G (1998). Kernel Ada to unify hardware and software design, ACM SIGAda Ada Letters, XVIII:6, (28-38), Online publication date: 1-Nov-1998.
  181. ACM
    Macos D and Mueller F The rendezvous is dead—long live the protected object Proceedings of the 1998 annual ACM SIGAda international conference on Ada, (287-293)
  182. ACM
    Wong S and Levine G Kernel Ada to unify hardware and software design Proceedings of the 1998 annual ACM SIGAda international conference on Ada, (28-38)
  183. ACM
    Huelsbergen L and Winterbottom P Very concurrent mark-&-sweep garbage collection without fine-grain synchronization Proceedings of the 1st international symposium on Memory management, (166-175)
  184. ACM
    Shao Z, League C and Monnier S Implementing typed intermediate languages Proceedings of the third ACM SIGPLAN international conference on Functional programming, (313-323)
  185. ACM
    Shao Z Typed cross-module compilation Proceedings of the third ACM SIGPLAN international conference on Functional programming, (141-152)
  186. ACM
    Benton N, Kennedy A and Russell G Compiling standard ML to Java bytecodes Proceedings of the third ACM SIGPLAN international conference on Functional programming, (129-140)
  187. ACM
    Hannan J and Hicks P Higher-order arity raising Proceedings of the third ACM SIGPLAN international conference on Functional programming, (27-38)
  188. ACM
    Visser E, Benaissa Z and Tolmach A Building program optimizers with rewriting strategies Proceedings of the third ACM SIGPLAN international conference on Functional programming, (13-26)
  189. ACM
    Minamide Y and Garrigue J On the runtime complexity of type-directed unboxing Proceedings of the third ACM SIGPLAN international conference on Functional programming, (1-12)
  190. ACM
    Takano A, Hu Z and Takeichi M (1998). Program transformation in calculational form, ACM Computing Surveys, 30:3es, (7-es), Online publication date: 1-Sep-1998.
  191. Boudol G (1998). The π-Calculus in Direct Style, Higher-Order and Symbolic Computation, 11:2, (177-208), Online publication date: 1-Sep-1998.
  192. Kučan J (1998). Retraction Approach to CPS Transform, Higher-Order and Symbolic Computation, 11:2, (145-175), Online publication date: 1-Sep-1998.
  193. ACM
    Agesen O, Detlefs D and Moss J (1998). Garbage collection and local variable type-precision and liveness in Java virtual machines, ACM SIGPLAN Notices, 33:5, (269-279), Online publication date: 1-May-1998.
  194. ACM
    Clinger W (1998). Proper tail recursion and space efficiency, ACM SIGPLAN Notices, 33:5, (174-185), Online publication date: 1-May-1998.
  195. ACM
    Cheng P, Harper R and Lee P (1998). Generational stack collection and profile-driven pretenuring, ACM SIGPLAN Notices, 33:5, (162-173), Online publication date: 1-May-1998.
  196. ACM
    Agesen O, Detlefs D and Moss J Garbage collection and local variable type-precision and liveness in Java virtual machines Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (269-279)
  197. ACM
    Clinger W Proper tail recursion and space efficiency Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (174-185)
  198. ACM
    Cheng P, Harper R and Lee P Generational stack collection and profile-driven pretenuring Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (162-173)
  199. ACM
    Morrisett G, Walker D, Crary K and Glew N From system F to typed assembly language Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (85-97)
  200. ACM
    Hannan J and Hicks P Higher-order unCurrying Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (1-11)
  201. ACM
    Wright A and Jagannathan S (1998). Polymorphic splitting, ACM Transactions on Programming Languages and Systems, 20:1, (166-207), Online publication date: 1-Jan-1998.
  202. ACM
    Ford B, Back G, Benson G, Lepreau J, Lin A and Shivers O (1997). The Flux OSKit, ACM SIGOPS Operating Systems Review, 31:5, (38-51), Online publication date: 1-Dec-1997.
  203. ACM
    Danvy O and Schultz U (1997). Lambda-dropping, ACM SIGPLAN Notices, 32:12, (90-106), Online publication date: 1-Dec-1997.
  204. ACM
    Danvy O and Schultz U Lambda-dropping Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (90-106)
  205. Shao Z Typed common intermediate format Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997, (8-8)
  206. ACM
    Ford B, Back G, Benson G, Lepreau J, Lin A and Shivers O The Flux OSKit Proceedings of the sixteenth ACM symposium on Operating systems principles, (38-51)
  207. ACM
    Blume M and Appel A (1997). Lambda-splitting, ACM SIGPLAN Notices, 32:8, (112-124), Online publication date: 1-Aug-1997.
  208. ACM
    Shao Z (1997). Flexible representation analysis, ACM SIGPLAN Notices, 32:8, (85-98), Online publication date: 1-Aug-1997.
  209. ACM
    Dimock A, Muller R, Turbak F and Wells J (1997). Strongly typed flow-directed representation transformations (extended abstract), ACM SIGPLAN Notices, 32:8, (11-24), Online publication date: 1-Aug-1997.
  210. ACM
    Blume M and Appel A Lambda-splitting Proceedings of the second ACM SIGPLAN international conference on Functional programming, (112-124)
  211. ACM
    Shao Z Flexible representation analysis Proceedings of the second ACM SIGPLAN international conference on Functional programming, (85-98)
  212. ACM
    Dimock A, Muller R, Turbak F and Wells J Strongly typed flow-directed representation transformations (extended abstract) Proceedings of the second ACM SIGPLAN international conference on Functional programming, (11-24)
  213. ACM
    Taura K and Yonezawa A (1997). An effective garbage collection strategy for parallel programming languages on large scale distributed-memory machines, ACM SIGPLAN Notices, 32:7, (264-275), Online publication date: 1-Jul-1997.
  214. ACM
    Taura K and Yonezawa A An effective garbage collection strategy for parallel programming languages on large scale distributed-memory machines Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming, (264-275)
  215. ACM
    Taura K and Yonezawa A (1997). Fine-grain multithreading with minimal compiler support—a cost effective approach to implementing efficient multithreading languages, ACM SIGPLAN Notices, 32:5, (320-333), Online publication date: 1-May-1997.
  216. ACM
    Sperber M and Thiemann P (1997). Two for the price of one, ACM SIGPLAN Notices, 32:5, (215-225), Online publication date: 1-May-1997.
  217. ACM
    Taura K and Yonezawa A Fine-grain multithreading with minimal compiler support—a cost effective approach to implementing efficient multithreading languages Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, (320-333)
  218. ACM
    Sperber M and Thiemann P Two for the price of one Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, (215-225)
  219. Blumofe R and Lisiecki P Adaptive and reliable parallel computing on networks of workstations Proceedings of the annual conference on USENIX Annual Technical Conference, (10-10)
  220. ACM
    Wand M and Sullivan G Denotational semantics using an operationally-based term model Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (386-399)
  221. ACM
    Biswas S A demand-driven set-based analysis Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (372-385)
  222. ACM
    Boudol G The π-calculus in direct style Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (228-242)
  223. ACM
    Ferrante R and Allard J (1996). Introducing a CPS style optimizer into an existing compiler, ACM SIGPLAN Notices, 31:12, (73-79), Online publication date: 1-Dec-1996.
  224. Mason D A functional intermediate form for diverse source languages Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
  225. Yi K, Ryu S and Pyun K Estimating Uncaught Exceptions in Standard ML Programs from Type-Based Equations Proceedings of the 20th Conference on Computer Software and Applications
  226. ACM
    Krishnaswamy V and Banerjee P (1996). Actor based parallel VHDL simulation using time warp, ACM SIGSIM Simulation Digest, 26:1, (135-142), Online publication date: 1-Jul-1996.
  227. Krishnaswamy V and Banerjee P Actor based parallel VHDL simulation using time warp Proceedings of the tenth workshop on Parallel and distributed simulation, (135-142)
  228. ACM
    Turbak F (1996). First-class synchronization barriers, ACM SIGPLAN Notices, 31:6, (157-168), Online publication date: 15-Jun-1996.
  229. ACM
    Serrano M and Feeley M (1996). Storage use analysis and its applications, ACM SIGPLAN Notices, 31:6, (50-61), Online publication date: 15-Jun-1996.
  230. ACM
    Hardin T, Maranget L and Pagano B (1996). Functional back-ends within the lambda-sigma calculus, ACM SIGPLAN Notices, 31:6, (25-33), Online publication date: 15-Jun-1996.
  231. ACM
    Sabry A and Wadler P (1996). A reflection on call-by-value, ACM SIGPLAN Notices, 31:6, (13-24), Online publication date: 15-Jun-1996.
  232. ACM
    Peyton Jones S, Partain W and Santos A (1996). Let-floating, ACM SIGPLAN Notices, 31:6, (1-12), Online publication date: 15-Jun-1996.
  233. ACM
    Turbak F First-class synchronization barriers Proceedings of the first ACM SIGPLAN international conference on Functional programming, (157-168)
  234. ACM
    Serrano M and Feeley M Storage use analysis and its applications Proceedings of the first ACM SIGPLAN international conference on Functional programming, (50-61)
  235. ACM
    Hardin T, Maranget L and Pagano B Functional back-ends within the lambda-sigma calculus Proceedings of the first ACM SIGPLAN international conference on Functional programming, (25-33)
  236. ACM
    Sabry A and Wadler P A reflection on call-by-value Proceedings of the first ACM SIGPLAN international conference on Functional programming, (13-24)
  237. ACM
    Peyton Jones S, Partain W and Santos A Let-floating Proceedings of the first ACM SIGPLAN international conference on Functional programming, (1-12)
  238. ACM
    Chandra S, Richards B and Larus J (1996). Teapot, ACM SIGPLAN Notices, 31:5, (237-248), Online publication date: 1-May-1996.
  239. ACM
    Ramsey N (1996). Relocating machine instructions by currying, ACM SIGPLAN Notices, 31:5, (226-236), Online publication date: 1-May-1996.
  240. ACM
    Sperber M and Thiemann P (1996). Realistic compilation by partial evaluation, ACM SIGPLAN Notices, 31:5, (206-214), Online publication date: 1-May-1996.
  241. ACM
    Jagannathan S and Wright A (1996). Flow-directed inlining, ACM SIGPLAN Notices, 31:5, (193-205), Online publication date: 1-May-1996.
  242. ACM
    Tarditi D, Morrisett G, Cheng P, Stone C, Harper R and Lee P (1996). TIL, ACM SIGPLAN Notices, 31:5, (181-192), Online publication date: 1-May-1996.
  243. ACM
    Lee P and Leone M (1996). Optimizing ML with run-time code generation, ACM SIGPLAN Notices, 31:5, (137-148), Online publication date: 1-May-1996.
  244. ACM
    Chandra S, Richards B and Larus J Teapot Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (237-248)
  245. ACM
    Ramsey N Relocating machine instructions by currying Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (226-236)
  246. ACM
    Sperber M and Thiemann P Realistic compilation by partial evaluation Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (206-214)
  247. ACM
    Jagannathan S and Wright A Flow-directed inlining Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (193-205)
  248. ACM
    Tarditi D, Morrisett G, Cheng P, Stone C, Harper R and Lee P TIL Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (181-192)
  249. ACM
    Lee P and Leone M Optimizing ML with run-time code generation Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (137-148)
  250. ACM
    Sperber M, Glück R and Thiemann P Bootstrapping higher-order program transformers from interpreters Proceedings of the 1996 ACM symposium on Applied Computing, (408-413)
  251. ACM
    Minamide Y, Morrisett G and Harper R Typed closure conversion Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (271-283)
  252. ACM
    George L and Appel A Iterated register coalescing Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (208-218)
  253. ACM
    Birkedal L, Tofte M and Vejlstrup M From region inference to von Neumann machines via region representation inference Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (171-183)
  254. ACM
    Gonçalves M and Appel A Cache performance of fast-allocating programs Proceedings of the seventh international conference on Functional programming languages and computer architecture, (293-305)
  255. ACM
    Wand M Compiler correctness for parallel languages Proceedings of the seventh international conference on Functional programming languages and computer architecture, (120-134)
  256. ACM
    Marchiori M The functional side of logic programming Proceedings of the seventh international conference on Functional programming languages and computer architecture, (55-65)
  257. ACM
    Thiemann P Unboxed values and polymorphic typing revisited Proceedings of the seventh international conference on Functional programming languages and computer architecture, (24-35)
  258. ACM
    Gunter C, Rémy D and Riecke J A generalization of exceptions and control in ML-like languages Proceedings of the seventh international conference on Functional programming languages and computer architecture, (12-23)
  259. ACM
    Aiken A, Fähndrich M and Levien R Better static memory management Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, (174-185)
  260. ACM
    Shao Z and Appel A A type-based compiler for standard ML Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, (116-129)
  261. ACM
    Aiken A, Fähndrich M and Levien R (1995). Better static memory management, ACM SIGPLAN Notices, 30:6, (174-185), Online publication date: 1-Jun-1995.
  262. ACM
    Shao Z and Appel A (1995). A type-based compiler for standard ML, ACM SIGPLAN Notices, 30:6, (116-129), Online publication date: 1-Jun-1995.
  263. ACM
    Kelsey R (1995). A correspondence between continuation passing style and static single assignment form, ACM SIGPLAN Notices, 30:3, (13-22), Online publication date: 1-Mar-1995.
  264. ACM
    Kelsey R A correspondence between continuation passing style and static single assignment form Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations, (13-22)
  265. ACM
    Jagannathan S and Weeks S A unified treatment of flow analysis in higher-order languages Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (393-407)
  266. ACM
    Palsberg J and O'Keefe P A type system equivalent to flow analysis Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (367-378)
  267. ACM
    Harper R and Morrisett G Compiling polymorphism using intensional type analysis Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (130-141)
  268. Parkes S, Chandy J and Banerjee P A library-based approach to portable, parallel, object-oriented programming Proceedings of the 1994 ACM/IEEE conference on Supercomputing, (69-78)
  269. Sah A and Blow J A new architecture for the implementation of scripting languages Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings, (3-3)
  270. Matthes F and Schmidt J Persistent Threads Proceedings of the 20th International Conference on Very Large Data Bases, (403-414)
  271. Massey B and Tick E Demand-Driven Dataflow for Concurrent Committed-Choice Code Proceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques, (215-224)
  272. ACM
    Reinhold M Cache performance of garbage-collected programs Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (206-217)
  273. ACM
    Sabry A and Felleisen M Is continuation-passing useful for data flow analysis? Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (1-12)
  274. ACM
    Heintze N (1994). Set-based analysis of ML programs, ACM SIGPLAN Lisp Pointers, VII:3, (306-317), Online publication date: 1-Jul-1994.
  275. ACM
    Jagannathan S and Weeks S (1994). Analyzing stores and references in a parallel symbolic language, ACM SIGPLAN Lisp Pointers, VII:3, (294-305), Online publication date: 1-Jul-1994.
  276. ACM
    Biswas S (1994). In-place updates in the presence of control operators, ACM SIGPLAN Lisp Pointers, VII:3, (283-293), Online publication date: 1-Jul-1994.
  277. ACM
    Shao Z, Reppy J and Appel A (1994). Unrolling lists, ACM SIGPLAN Lisp Pointers, VII:3, (185-195), Online publication date: 1-Jul-1994.
  278. ACM
    Queinnec C (1994). Locality, causality and continuations, ACM SIGPLAN Lisp Pointers, VII:3, (91-102), Online publication date: 1-Jul-1994.
  279. ACM
    Stefanovic D and Moss J (1994). Characterization of object behaviour in Standard ML of New Jersey, ACM SIGPLAN Lisp Pointers, VII:3, (43-54), Online publication date: 1-Jul-1994.
  280. ACM
    Tolmach A (1994). Tag-free garbage collection using explicit type parameters, ACM SIGPLAN Lisp Pointers, VII:3, (1-11), Online publication date: 1-Jul-1994.
  281. ACM
    Clinger W and Hansen L (1994). Lambda, the ultimate label or a simple optimizing compiler for Scheme, ACM SIGPLAN Lisp Pointers, VII:3, (128-139), Online publication date: 1-Jul-1994.
  282. ACM
    Shao Z and Appel A (1994). Space-efficient closure representations, ACM SIGPLAN Lisp Pointers, VII:3, (150-161), Online publication date: 1-Jul-1994.
  283. ACM
    Heintze N Set-based analysis of ML programs Proceedings of the 1994 ACM conference on LISP and functional programming, (306-317)
  284. ACM
    Jagannathan S and Weeks S Analyzing stores and references in a parallel symbolic language Proceedings of the 1994 ACM conference on LISP and functional programming, (294-305)
  285. ACM
    Biswas S In-place updates in the presence of control operators Proceedings of the 1994 ACM conference on LISP and functional programming, (283-293)
  286. ACM
    Shao Z, Reppy J and Appel A Unrolling lists Proceedings of the 1994 ACM conference on LISP and functional programming, (185-195)
  287. ACM
    Queinnec C Locality, causality and continuations Proceedings of the 1994 ACM conference on LISP and functional programming, (91-102)
  288. ACM
    Stefanovic D and Moss J Characterization of object behaviour in Standard ML of New Jersey Proceedings of the 1994 ACM conference on LISP and functional programming, (43-54)
  289. ACM
    Tolmach A Tag-free garbage collection using explicit type parameters Proceedings of the 1994 ACM conference on LISP and functional programming, (1-11)
  290. ACM
    Clinger W and Hansen L Lambda, the ultimate label or a simple optimizing compiler for Scheme Proceedings of the 1994 ACM conference on LISP and functional programming, (128-139)
  291. ACM
    Shao Z and Appel A Space-efficient closure representations Proceedings of the 1994 ACM conference on LISP and functional programming, (150-161)
  292. ACM
    Reinhold M (1994). Cache performance of garbage-collected programs, ACM SIGPLAN Notices, 29:6, (206-217), Online publication date: 1-Jun-1994.
  293. ACM
    Sabry A and Felleisen M (1994). Is continuation-passing useful for data flow analysis?, ACM SIGPLAN Notices, 29:6, (1-12), Online publication date: 1-Jun-1994.
  294. Akella V and Gopalakrishnan G (1994). Specification and Validation of Control-Intensive IC's in hopCP, IEEE Transactions on Software Engineering, 20:6, (405-423), Online publication date: 1-Jun-1994.
  295. ACM
    Burson S (1994). Continuations without copying, ACM SIGPLAN Notices, 29:5, (27-30), Online publication date: 1-May-1994.
  296. ACM
    Hatcliff J and Danvy O A generic account of continuation-passing styles Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (458-471)
  297. ACM
    De Bosschere K, Debray S, Gudeman D and Kannan S Call forwarding Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (409-420)
  298. ACM
    Tofte M and Talpin J Implementation of the typed call-by-value λ-calculus using a stack of regions Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (188-201)
  299. ACM
    Harper R and Lillibridge M A type-theoretic approach to higher-order modules with sharing Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (123-137)
  300. ACM
    Diwan A, Tarditi D and Moss E Memory subsystem performance of programs using copying garbage collection Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (1-14)
  301. ACM
    Doligez D and Gonthier G Portable, unobtrusive garbage collection for multiprocessor systems Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (70-83)
  302. ACM
    Queinnec C (1993). A library of high level control operators, ACM SIGPLAN Lisp Pointers, VI:4, (11-26), Online publication date: 1-Oct-1993.
  303. ACM
    Morrisett J and Tolmach A Procs and locks Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, (198-207)
  304. ACM
    Huelsbergen L and Larus J A concurrent copying garbage collector for languages that distinguish (im)mutable data Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, (73-82)
  305. ACM
    Flanagan C, Sabry A, Duba B and Felleisen M The essence of compiling with continuations Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, (237-247)
  306. ACM
    Peterson J and Jones M Implementing type classes Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, (227-236)
  307. ACM
    Morrisett J and Tolmach A (1993). Procs and locks, ACM SIGPLAN Notices, 28:7, (198-207), Online publication date: 1-Jul-1993.
  308. ACM
    Huelsbergen L and Larus J (1993). A concurrent copying garbage collector for languages that distinguish (im)mutable data, ACM SIGPLAN Notices, 28:7, (73-82), Online publication date: 1-Jul-1993.
  309. ACM
    Feeley M Polling efficiently on stock hardware Proceedings of the conference on Functional programming languages and computer architecture, (179-187)
  310. ACM
    Flanagan C, Sabry A, Duba B and Felleisen M (1993). The essence of compiling with continuations, ACM SIGPLAN Notices, 28:6, (237-247), Online publication date: 1-Jun-1993.
  311. ACM
    Peterson J and Jones M (1993). Implementing type classes, ACM SIGPLAN Notices, 28:6, (227-236), Online publication date: 1-Jun-1993.
  312. Freericks M and Knoll A Formally correct translation of DSP algorithms specified in an asynchronous applicative language Proceedings of the 1993 IEEE international conference on Acoustics, speech, and signal processing: plenary, special, audio, underwater acoustics, VLSI, neural networks - Volume I, (417-420)
  313. ACM
    Consel C and Danvy O Tutorial notes on partial evaluation Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (493-501)
  314. ACM
    Leroy X Polymorphism by name for references and continuations Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (220-231)
  315. ACM
    Harper R and Lillibridge M Explicit polymorphism and CPS conversion Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (206-219)
  316. ACM
    Lawall J and Danvy O Separating stages in the continuation-passing style transformation Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (124-136)
  317. ACM
    Doligez D and Leroy X A concurrent, generational garbage collector for a multithreaded implementation of ML Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (113-123)
  318. Buchsbaum A and Tarjan R Confluently persistent deques via data structuaral bootstrapping Proceedings of the fourth annual ACM-SIAM symposium on Discrete algorithms, (155-164)
  319. ACM
    Siegel E Applying high-level language paradigms to distributed systems Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring, (1-7)
  320. ACM
    Leroy X Unboxed objects and polymorphic typing Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (177-188)
Contributors
  • Princeton University

Recommendations

Frank George Pagan

The bulk of this volume consists of a description of the back end of a compiler for the functional programming language Standard ML. The compiler, which is playfully named Standard ML of New Jersey, employs continuation-passing style as an intermediate representation. As anyone familiar with denotational semantics knows, a continuation is a function that expresses the entire future portion of a programs computation, given that some part of the computation has already been completed. In languages that treat functions as first-class values, it is possible to write all programs in the highly unconventional continuation-passing style (CPS). In CPS, each non-continuation function takes a continuation k as an extra argument and, instead of returning a result z to its caller, completes its work by calling k with argument z . As an example (taken from page 15), the ML expression let fun f(x) = 2*x+1 in f(a+b)*f(c+d) end could be rewritten using CPS as let fun f(x,k) = k(2*x+1) fun k1(i) = let fun k2(j) = r(i*j) in f(c+d, k2) end in f(a+b, k1) end where k 1 and k 2 are the continuations for the two calls of f, and r is the continuation for the entire expression. For programs that are written entirely in CPS, all function calls can be implemented as simple jumps, and the need for a runtime stack of activation records can be eliminated. The first chapter immediately introduces the concept of CPS and compares it to other kinds of intermediate representation with respect to suitability for optimization. Chapter 2 defines and discusses a data structure for the representation of CPS ML programs. Using ML itself as the metalanguage, chapter 3 gives a denotational semantics for the CPS representation. Chapter 4 describes some ML-specific optimizations that constitute the compilers first back-end pass and result in a simplified, “lambda-language” re presentation of the source program. The next pass, which converts the lambda-language form into the CPS form, is defined in chapter 5. Chapters 6 through 9 describe various CPS-form optimizations, which account for the next several passes of the compiler. The optimizations include constant folding of many different kinds, beta contraction, eta reduction, uncurrying, beta expansion, hoisting, and common-subexpression elimination. Chapter 10 describes a closure conversion phase, producing a CPS form in which functions contain no free variables, and a lifting phase that eliminates all nesting of function definitions. A register spilling pass is described in chapter 11. Chapter 12 describes the space-complexity effects of the transformations described in the earlier chapters. Chapter 13 describes a pass that produces a generalized, assembly language–like representation of the program being compiled. The compilers final two passes, culminating in the generation of native machine code for any of four target machines, are described in chapter 14. An extensive evaluation of the compilers performance is given in chapter 15. It appears that, compared with other ML implementations, compilation speed is poor (but the author believes that it could be improved by a factor of 2) and runtime speed is good. Chapters 16 through 18 address some important miscellaneous aspects, such as garbage collection. The books typography and the authors writing style make it easy to read, despite quite a few errors in spelling and grammar. The five-page index seems adequate if not exceptional. The bibliography contains 98 items, is up-to-date, and is extensively referenced throughout the book. Since the book has no preface, it is more difficult than usual to discover its intended purpose and audience. It is evidently too advanced to be suitable as a course textbook (and, accordingly, no exercises are provided). The back cover blurb identifies the intended readers as “compiler writers in both industry and academe” and “students and researchers in programming-language theory.” It cannot be doubted that the techniques presented, many of which are clever and of recent invention, constitute an advance and consolidation of the state of the art of implementation of functional-paradigm programming languages. In my opinion, however, people involved with other kinds of languages will find the book to be of limited value. Implementors of imperative languages, for example, might well reject out of hand the prospect of a compiler with a double-digit number of internal passes. I recommend the book to language designers and implementors specializing in the functional paradigm.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.