LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Design of a separable transition-diagram compiler
Communications of the ACM
Types and programming languages
Types and programming languages
Coroutines
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Combinators for program generation
Journal of Functional Programming
Programming in Modula-2
Essentials of Programming Languages, 3rd Edition
Essentials of Programming Languages, 3rd Edition
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Science of Computer Programming
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Polymorphic delimited continuations
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Delimited control in OCaml, abstractly and concretely: system description
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
From type checking by recursive descent to type checking with an abstract machine
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
A correspondence between type checking via reduction and type checking via evaluation
Information Processing Letters
Delimited control in OCaml, abstractly and concretely
Theoretical Computer Science
QEMU/CPC: static analysis and CPS conversion for safe, portable, and efficient coroutines
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Starting from reduction semantics for several styles of coroutines from the literature, we apply Danvy's method to obtain equivalent functional implementations (definitional interpreters) for them. By applying existing type systems for programs with continuations, we obtain sound type systems for coroutines through the translation. The resulting type systems are similar to earlier hand-crafted ones. As a side product, we obtain implementations for these styles of coroutines in OCaml.