Objects, interference and the Yoneda embedding

1995 Theoretical Computer Science  
Syntactic control of interference revisited http://www,elsevier.nl/locate/entcs/volumel/tennent In "Syntactic Control of Interference" (POPL, 1978), J. C. Reynolds proposes three design principles intended to constrain the scope of imperative state effects in Algol-like languages. The resulting linguistic framework seems to be a very satisfactory way of combining functional and imperative concepts, having the desirable attributes of both purely functional languages (such as PCF) and simple
more » ... ative languages (such as the language of while programs). However, Reynolds points out that an "obvious" syntax for interference control has the unfortunate property that P-reductions do not always preserve typings. Reynolds has subsequently presented a solution to this problem (ICALP, 1989)) but it is fairly complicated and requires intersection types in the type system. Here, we present a much simpler solution which does not require intersection types. We first describe a new type system inspired in part by linear logic and verify that reductions preserve typings. We then define a class of "bireflective" models, which are shown to provide a sound interpretation of the type system; a companion paper, "Bireflectivity," in this volume provides a categorical analysis of these models. Finally, we describe a concrete model for an illustrative programming language based on the new type system; this improves on earlier such efforts in that states are not assumed to be structured using locations.
doi:10.1016/0304-3975(96)80139-3 fatcat:bqcssjjpjzhnvgj27ohd26ukku