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__ $$aNew York, NY, USA$$bACM$$c2009
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$$aRompf, Tiark$$g185682
000149136 700__ $$0243346$$aMaier, Ingo$$g177179
000149136 700__ $$0241835$$aOdersky, Martin$$g126003
000149136 7112_ $$aInternational Conference on Functional Programming$$cEdinburgh, Scotland$$dAugust 31-September 02, 2009
000149136 773__ $$tProceedings of the 14th ACM SIGPLAN international conference on Functional programming
000149136 8564_ $$s236562$$uhttps://infoscience.epfl.ch/record/149136/files/icfp113-rompf.pdf$$yPublisher's version$$zn/a
000149136 909C0 $$0252187$$pLAMP$$xU10409
000149136 909CO $$ooai:infoscience.tind.io:149136$$pconf$$pIC$$qGLOBAL_SET
000149136 917Z8 $$x185682
000149136 937__ $$aEPFL-CONF-149136
000149136 973__ $$aEPFL$$rREVIEWED$$sPUBLISHED
000149136 980__ $$aCONF