We design and study νObj, a calculus and dependent type system for objects and classes which can have types as members. Type can be aliases, abstract types, or new types. The type...
Trace effects are statically generated program abstractions, that can be model checked for verification of assertions in a temporal program logic. In this paper we develop a type a...
Object-Gofer is a small, practical extension of the functional programming language Gofer incorporating the following ideas from the object-oriented community: objects and toplevel...
We present a type system for checking object immutability, read-only references, and class immutability in an open or closed world. To allow object initialization outside object co...
Type classes were originally developed in Haskell as a disciplined alternative to ad-hoc polymorphism. Type classes have been shown to provide a type-safe solution to important ch...
Bruno C. d. S. Oliveira, Adriaan Moors, Martin Ode...