Implementation strategies for continuations
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Reasoning about continuations with control effects
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Representing control in the presence of first-class continuations
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Systems programming with Modula-3
Systems programming with Modula-3
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
The type and effect discipline
Information and Computation
A syntactic approach to type soundness
Information and Computation
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inside COM
The marriage of effects and monads
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Type-Directed Continuation Allocation
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Typed common intermediate format
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Weak updates and separation logic
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Hi-index | 0.00 |
Safety of interoperation of program fragments written in different safe languages may fail when the languages have different systems of computational effects: an exception raised by an ML function may have no valid semantic interpretation in the context of a Safe-C caller. Sandboxing costs performance and still may violate the semantics if effects are not taken into account. We show that effect annotations alone are insufficient to guarantee safety, and we present a type system with bounded effect polymorphism designed to verify the compatibility of abstract resources required by the computational models of the interoperating languages. The type system ensures single address space interoperability of statically typed languages with effect mechanisms built of modules for control and state. It is shown sound for safety with respect to the semantics of a language with constructs for selection, simulation, and blocking of resources, targeted as an intermediate language for optimization of resource handling.