ML's exception handling makes it possible to describe exceptional execution flows conveniently, but it also forms a performance bottleneck. Our goal is to reduce this overhead by source-level transformation. To this end, we transform source programs into continuation-passing style (CPS), replacing handle and raise expressions by continuation-catching and throwing expressions, respectively. CPS-transforming every expression, however, introduces a new cost. We therefore use an exception analysis to transform expressions selectively: if an expression is statically determined to involve exceptions then it is CPS-transformed; otherwise, it is left in direct style. In this article, we formalize this selective CPS transformation, prove its correct...
International audienceTransformation to continuation-passing style (CPS) is often performed by optim...
We present a series of CPS-based intermediate languages suitable for functional language compilation...
RIT department of computer science technical report. Correctness is a crucial property for compilers...
ML's exception handling makes it possible to describe exceptional execution flows conveniently,...
We present a static analysis that detects potential runtime exceptions that are raised and never han...
International audienceThis paper presents a program analysis to estimate un-caught exceptions in ML ...
The CPS transformation makes all functions continuation-passing, uniformly. Not all functions, howev...
AbstractWe present a static analysis that detects potential runtime exceptions that are raised and n...
We show that a non-duplicating CPS transformation has no effect on control-flow analysis and that it...
We describe our experiences with an exception analysis tool for Standard ML. Information about excep...
AbstractWe present a static analysis that detects potential runtime exceptions that are raised and n...
We formally prove the stackability and linearity of exception handlers of ML-style semantics using a...
We bridge two distinct approaches to one-pass CPS transformations, i.e., CPS transformations that re...
In previous work we showed how to verify a compiler for a small language with exceptions. In this a...
We present a new transformation of call-by-value lambda-terms into continuation-passing style (CPS)....
International audienceTransformation to continuation-passing style (CPS) is often performed by optim...
We present a series of CPS-based intermediate languages suitable for functional language compilation...
RIT department of computer science technical report. Correctness is a crucial property for compilers...
ML's exception handling makes it possible to describe exceptional execution flows conveniently,...
We present a static analysis that detects potential runtime exceptions that are raised and never han...
International audienceThis paper presents a program analysis to estimate un-caught exceptions in ML ...
The CPS transformation makes all functions continuation-passing, uniformly. Not all functions, howev...
AbstractWe present a static analysis that detects potential runtime exceptions that are raised and n...
We show that a non-duplicating CPS transformation has no effect on control-flow analysis and that it...
We describe our experiences with an exception analysis tool for Standard ML. Information about excep...
AbstractWe present a static analysis that detects potential runtime exceptions that are raised and n...
We formally prove the stackability and linearity of exception handlers of ML-style semantics using a...
We bridge two distinct approaches to one-pass CPS transformations, i.e., CPS transformations that re...
In previous work we showed how to verify a compiler for a small language with exceptions. In this a...
We present a new transformation of call-by-value lambda-terms into continuation-passing style (CPS)....
International audienceTransformation to continuation-passing style (CPS) is often performed by optim...
We present a series of CPS-based intermediate languages suitable for functional language compilation...
RIT department of computer science technical report. Correctness is a crucial property for compilers...