We propose an aspect-oriented programming (AOP) language called Aspectual Caml based on a strongly-typed functional language Objective Caml. Aspectual Caml offers two AOP mechanis...
Interfaces as defined in the JAVA programming language can enhance both decoupling and comprehensibility of large code bases. Several researchers have pointed out this key role of...
This paper studies specific language level abstractions for component-based programming. We propose a simple model which captures some basic ingredients — like explicit context ...
This paper shows how type effect systems can be combined with model-checking techniques to produce powerful, automatically verifiable program logics for higher-order programs. The ...
We describe a modular programming style that harnesses modern type systems to verify safety conditions in practical systems. This style has three ingredients: (i) A compact kernel...