A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
Explicit polymorphism and CPS conversion
1993
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93
We study the typing properties of CPS conversion for an extension of F ! with control operators. ...
In contrast, the \ML-like" strategies evaluate beneath constructor abstractions, re ecting the usual interpretation of programs in languages based on implicit polymorphism. ...
Recent languages, notably Quest 4] and LEAP 35] , are based instead on the notion of explicit polymorphism introduced by Girard and Reynolds 39] . ...
doi:10.1145/158511.158630
dblp:conf/popl/HarperL93
fatcat:gggc4yhpnvenpkml7nxb32etwu
A type-preserving compiler in Haskell
2008
SIGPLAN notices
Abstract Syntax • We show a CPS and closure conversion over System F where type preservation is enforced by type families and type equality constraints. ...
This allows type-based program verification and is a promising compromise between plain old types and full blown Hoare logic proofs. ...
CPS conversion: Exp t → ExpK (cps t) Conversion to continuation-passing style (CPS) names all intermediate results and makes the control structure of a program explicit. ...
doi:10.1145/1411203.1411218
fatcat:gcew2jmiirdpbfghhfvfb2pgbu
A type-preserving compiler in Haskell
2008
Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08
Abstract Syntax • We show a CPS and closure conversion over System F where type preservation is enforced by type families and type equality constraints. ...
This allows type-based program verification and is a promising compromise between plain old types and full blown Hoare logic proofs. ...
CPS conversion: Exp t → ExpK (cps t) Conversion to continuation-passing style (CPS) names all intermediate results and makes the control structure of a program explicit. ...
doi:10.1145/1411204.1411218
dblp:conf/icfp/GuillemetteM08
fatcat:jo4hupsoj5hfbfdez4sfkbmsau
A verified compiler for an impure functional language
2010
SIGPLAN notices
Phase Structure
Source
CPS
Closed
Three-address code
Assembly
CPS conversion
Closure conversion
Common subexpression elimination
Flattening
Register allocation/dead code elim. ...
Code generation
First-order source
Conversion to higher-order syntax
Translations with
interesting binding in
both source and
target languages
The one and only inductive
theorem about substitutioñ ...
∀ var: A piece of syntax is a first-class polymorphic function. ...
doi:10.1145/1707801.1706312
fatcat:fm7dxtprajh3tgwi74jw232ely
A verified compiler for an impure functional language
2010
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '10
Phase Structure
Source
CPS
Closed
Three-address code
Assembly
CPS conversion
Closure conversion
Common subexpression elimination
Flattening
Register allocation/dead code elim. ...
Code generation
First-order source
Conversion to higher-order syntax
Translations with
interesting binding in
both source and
target languages
The one and only inductive
theorem about substitutioñ ...
∀ var: A piece of syntax is a first-class polymorphic function. ...
doi:10.1145/1706299.1706312
dblp:conf/popl/Chlipala10
fatcat:vifgpglihfg3pc5wtuskbpbioe
Implementing typeful program transformations
2003
SIGPLAN notices
When constructing a compiler for a typed functional programming language, we may need to apply CPS transformation and/or closure conversion. ...
Implementing Closure Conversion In the phase of CPS transformation, the compiler names all intermediate computations and eliminates the need for a control stack. ...
doi:10.1145/966049.777392
fatcat:rqq4weor2vfknkvjccboobmzfu
Implementing typeful program transformations
2003
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation - PEPM '03
When constructing a compiler for a typed functional programming language, we may need to apply CPS transformation and/or closure conversion. ...
Implementing Closure Conversion In the phase of CPS transformation, the compiler names all intermediate computations and eliminates the need for a control stack. ...
doi:10.1145/777388.777392
dblp:conf/pepm/ChenX03
fatcat:brwahn4shrgordjd5kzc5dmdd4
A type-based compiler for standard ML
1995
SIGPLAN notices
In order to support more efficient data representations and gain more experience about type-directed compilation, we have implemented a new type-based middle end and back end for the Standard ML of New ...
But how should type-directed compilation work in real compilers, and how much performance gain will type-based optimizations yield? ...
This research is supported in part by National Science Foundation Grants CCR-9002786, CCR-9200790, and CCR-9501624. ...
doi:10.1145/223428.207123
fatcat:77tu74iddba5dntjgb7ahafxsm
A type-based compiler for standard ML
1995
Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation - PLDI '95
In order to support more efficient data representations and gain more experience about type-directed compilation, we have implemented a new type-based middle end and back end for the Standard ML of New ...
But how should type-directed compilation work in real compilers, and how much performance gain will type-based optimizations yield? ...
This research is supported in part by National Science Foundation Grants CCR-9002786, CCR-9200790, and CCR-9501624. ...
doi:10.1145/207110.207123
dblp:conf/pldi/ShaoA95
fatcat:5cfp5tac3zh3rbdd34dauscjoi
Answer Type Polymorphism in Call-by-Name Continuation Passing
[chapter]
2004
Lecture Notes in Computer Science
By building on this polymorphic typing, and using parametricity reasoning, we show that the call-by-name transform satisfies the eta-law, and is in fact isomorphic to the more recent CPS transform defined ...
This paper studies continuations by means of a polymorphic type system. ...
Thanks to Olivier Laurent and Paul-André Mellies for discussions, and the anonymous referees for comments. ...
doi:10.1007/978-3-540-24725-8_20
fatcat:lri2ioeyjje53hnydkvnc5gnx4
Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform
2009
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming - ICFP '09
We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. ...
types and leaves pure code in direct style. ...
The CPS transform will detect these conversion cases in the code and insert shifts where necessary to demote pure expressions to impure ones. ...
doi:10.1145/1596550.1596596
dblp:conf/icfp/RompfMO09
fatcat:z44qbxwb65enlmzzrkhkjzk5ou
Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform
2009
SIGPLAN notices
We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. ...
types and leaves pure code in direct style. ...
The CPS transform will detect these conversion cases in the code and insert shifts where necessary to demote pure expressions to impure ones. ...
doi:10.1145/1631687.1596596
fatcat:46levrwjozbyhpmr6qmq3e3bem
Compiling with continuations, continued
2007
SIGPLAN notices
function, and in monadic languages, commuting conversions must be applied; in contrast, inlining in our CPS language is a simple substitution of variables for variables. ...
We start by defining an untyped continuation-passing language λ U CPS that supports non-recursive functions, the unit value, pairs, and tagged values. ...
Somewhat closer to our CPS language is the First Order Language (FOL) of the MLton compiler (Fluet and Weeks 2001) . ...
doi:10.1145/1291220.1291179
fatcat:pahgdwtnrjaz7bmgej6pa2fpra
Compiling with continuations, continued
2007
Proceedings of the 2007 ACM SIGPLAN international conference on Functional programming - ICFP '07
function, and in monadic languages, commuting conversions must be applied; in contrast, inlining in our CPS language is a simple substitution of variables for variables. ...
We start by defining an untyped continuation-passing language λ U CPS that supports non-recursive functions, the unit value, pairs, and tagged values. ...
Somewhat closer to our CPS language is the First Order Language (FOL) of the MLton compiler (Fluet and Weeks 2001) . ...
doi:10.1145/1291151.1291179
dblp:conf/icfp/Kennedy07
fatcat:lzdjbyyk2zdo5erd33hlam3wcm
From control effects to typed continuation passing
2003
SIGPLAN notices
Types and effect systems can be used to reason about continuations, both in the source language and in the target language of the continuation-passing transform. ...
A region in the effect system determines a local answer type for continuations, such that the continuation transforms of pure expressions are parametrically polymorphic in their answer types. ...
Acknowledgments Thanks to Josh Berdine for discussions, and to the anonymous referees and Hongseok Yang for spotting typos. ...
doi:10.1145/640128.604144
fatcat:elq2r5h66ncxfdppek4tgh7u3e
« Previous
Showing results 1 — 15 out of 2,130 results