000149136 001__ 149136
000149136 005__ 20190316234814.0
000149136 0247_ $$2doi$$a10.1145/1596550.1596596
000149136 02470 $$2ISI$$a000280546200033
000149136 02470 $$2ISI$$a000271211700034
000149136 037__ $$aCONF
000149136 245__ $$aImplementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform
000149136 269__ $$a2009
000149136 260__ $$bACM$$c2009$$aNew York, NY, USA
000149136 336__ $$aConference Papers
000149136 520__ $$aWe describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. We use Scala's pluggable typing architecture to implement a simple type and effect system, which discriminates expressions with control effects from those without and accurately tracks answer type modification incurred by control effects. To tackle the problem of implementing first-class continuations under the adverse conditions brought upon by the Java VM, we employ a selective CPS transform, which is driven entirely by effect-annotated types and leaves pure code in direct style. Benchmarks indicate that this high-level approach performs competitively.
000149136 6531_ $$adelimited continuations
000149136 6531_ $$aselective CPS transform
000149136 6531_ $$acontrol effects
000149136 6531_ $$aprogram transformation
000149136 700__ $$0243345$$g185682$$aRompf, Tiark
000149136 700__ $$0243346$$g177179$$aMaier, Ingo
000149136 700__ $$aOdersky, Martin$$g126003$$0241835
000149136 7112_ $$dAugust 31-September 02, 2009$$cEdinburgh, Scotland$$aInternational Conference on Functional Programming
000149136 773__ $$tProceedings of the 14th ACM SIGPLAN international conference on Functional programming
000149136 8564_ $$uhttps://infoscience.epfl.ch/record/149136/files/icfp113-rompf.pdf$$zn/a$$s236562$$yPublisher's version
000149136 909C0 $$xU10409$$0252187$$pLAMP
000149136 909CO $$ooai:infoscience.tind.io:149136$$qGLOBAL_SET$$pconf$$pIC
000149136 917Z8 $$x185682
000149136 937__ $$aEPFL-CONF-149136
000149136 973__ $$rREVIEWED$$sPUBLISHED$$aEPFL
000149136 980__ $$aCONF