ABSTRACT
On-line transducers are an important class of computational agent; we construct and compose together many software systems using them, such as stream processors, layered network protocols, DSP networks and graphics pipelines. We show an interesting use of continuations, that, when taken in a CPS setting, exposes the control flow of these systems. This enables a CPS-based compiler to optimise systems composed of these transducers, using only standard, known analyses and optimisations. Critically, the analysis permits optimisation across the composition of these transducers, allowing efficient construction of systems in a hierarchical way.
- Olin Shivers. Control-flow analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, June 1988. Google Scholar
Digital Library
- John Launchbury and Tim Sheard. Warm fusion: Deriving build-catas from recursive definitions. In Proceedings of the ACM Functional Programming and Computer Architecture, 1995. Google Scholar
Digital Library
- Olin Shivers. The semantics of Scheme control-flow analysis. In Proceedings of the First ACM SIGPLAN and IFIP Symposium on Partial Evaluation and Semantics-Based Program Manipulation, June 1991. Published as SIGPLAN Notices 26(9):190--198, Association for Computing Machinery, September 1991. Google Scholar
Digital Library
- Barbara Liskov. A History of CLU. Technical Report 561, MIT Laboratory for Computer Science, April 1992. Google Scholar
Digital Library
- John Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM (June 1991). Google Scholar
Digital Library
- Olin Shivers. Continuations and threads: Expressing machine concurrency directly in advanced languages. In Proceedings of the Second ACM SIGPLAN Workshop on Continuations, January 1997, Paris. Also available as BRICS Notes Series NS-96-13, University of Aarhus, Denmark.Google Scholar
- Andrew W. Appel. Compiling with Continuations. Cambridge University Press, 1992. Google Scholar
Digital Library
- Matthew Might and Olin Shivers. Environmental analysis via ΔCFA. In Proceedings of the 33rd Annual ACM Symposium on Principles of Programming Languages (POPL 2006), Charleston, South Carolina, January 2006. Google Scholar
Digital Library
- Philip Wadler. Deforestation: transforming programs to eliminate trees. Theoretical Computer Science, pages 231--248. Google Scholar
Digital Library
- Sanjeev Kumar, et al. ESP: A language for programmable devices. In Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 309--320, Snowbird, Utah, June 2001. Google Scholar
Digital Library
- Philip Wadler. The essence of functional programming. In Proceedings of the 19th Symposium on Principles of Programming Languages, pages 1--14, ACM, Jan 1992. Google Scholar
Digital Library
- A short cut to deforestation. Andrew Gill, John Launchbury and Simon L. Peyton Jones. In Proceedings of the FPCA '93 Conference on Functional Programming Languages and Computer Architecture, pages 223--232, Copenhagen, Denmark, June 1993. Google Scholar
Digital Library
- Philip Wadler. Monads for functional programming. Advanced Functional Programming, Ed. J. Jeuring and E. Meijer, Springer Verlag, LNCS. Google Scholar
Digital Library
- Todd A. Proebsting and Scott A. Watterson. Filter Fusion. In Proceedings of the 23rd symposium on Principles of Programming Languages (POPL'96), ACM, 1996. Google Scholar
Digital Library
- Control-Flow Analysis of Higher-Order Languages. Ph.D. dissertation, Carnegie Mellon University, May 1991. Technical Report CMU-CS-91-145, School of Computer Science. (Also available via anonymous ftp as URL ftp://cs.cmu.edu/afs%2Fcs.cmu.edu%2Fuser%2Fshivers%2Flib%2Fpapers/diss.ps.Z.)Google Scholar
- Olin Shivers. The anatomy of a loop: a story of scope and control. In Proceedings of the 10th ACM SIGPLAN International Conference on Functional Programming (ICFP 2005), pages 2--14, Tallinn, Estonia, September 2005. Google Scholar
Digital Library
- Philip Wadler. Linear types can change the world. Programming Concepts and Methods, Ed. M. Broy and C. Jones, North Holland.Google Scholar
- Chih-ping Chen and Paul Hudak. Rolling your own mutable ADT-a connection between linear types and monads. In Proceeding of the 24th ACM Symposium on Principles of Programming Languages, January 1997, Paris, France. Google Scholar
Digital Library
- Eugenio Moggi. Computational lambda-calculus and monads. In Symposium on Logic in Computer Science, Asilomar,California, IEEE, June 1989. Google Scholar
Digital Library
- David Kranz. Orbit: An Optimizing Compiler for Scheme. Ph.D. dissertation, Yale University, February 1988. Research Report 632, Department of Computer Science. A conference-length version of this dissertation appears in SIGPLAN 86. Google Scholar
Digital Library
- Alan J. Perlis. Epigrams on programming. Sigplan 17 #9, September 1980. Google Scholar
Digital Library
- I. E. Sutherland and G. W. Hodgman. Reentrant polygon clipping. Communications of the ACM 17(1), pages 32--42, January 1974. Google Scholar
Digital Library
- Guy L. Steele Jr. RABBIT: A Compiler for SCHEME. Technical Report 474, MIT AI Lab, May 1978. Google Scholar
Digital Library
- Robert Hieb, R. Kent Dybvig and Carl Bruggeman. Representing control in the presence of first-class continuations. In Proceedings of the ACM SIGPLAN'90 Conference on Programming Language Design and Implementation (PLDI), pages 66--77, White Plains, New York, June 1990. Google Scholar
Digital Library
- Richard Kelsey and Paul Hudak.Realistic compilation by program transformation. In Proceedings of the 16th Annual ACM Symposium on Principles of Programming Languages, January 1989. Google Scholar
Digital Library
- David N. Turner, Philip Wadler, Christian Mossin. Once upon a type. In Proceedings of the 7th International Conference on Functional Programming and Computer Architecture, San Diego, California, June 1995. Google Scholar
Digital Library
- Shortcut fusion for accumulating parameters & zip-like functions. Josef Svenningsson. In Proceedings of the Seventh ACM SIGPLAN International Conference on Functional Programming (ICFP 2002), Pittsburgh, Pennsylvania, October 2002. Google Scholar
Digital Library
- Olin Shivers. Useless-variable elimination. In proceedings of Workshop on Static Analysis of Equational, Functional and Logic Programs, Université Bordeaux I, LaBRI, Bordeaux, France, October, 1991.Google Scholar
Index Terms
Continuations and transducer composition
Recommendations
Continuations and transducer composition
Proceedings of the 2006 PLDI ConferenceOn-line transducers are an important class of computational agent; we construct and compose together many software systems using them, such as stream processors, layered network protocols, DSP networks and graphics pipelines. We show an interesting use ...
Languages as first-class citizens (vision paper)
SLE 2018: Proceedings of the 11th ACM SIGPLAN International Conference on Software Language EngineeringIn this paper, we introduce languages as first-class citizens as a sub-paradigm of language-oriented programming. In this approach, language definitions are in the context of a general purpose programming language with the same status as any other ...
Compiling with continuations, continued
Proceedings of the ICFP '07 conferenceWe present a series of CPS-based intermediate languages suitable for functional language compilation, arguing that they have practical benefits over direct-style languages based on A-normal form (ANF) or monads. Inlining of functions demonstrates the ...







Comments