In the last couple of years several dynamically-typed, object-oriented programming languages have been equipped with optional static type checkers. This typically requires these languages to be extended with a downcast operator, which is a common operator in statically-typed languages but not in dynamically-typed languages. Our objective is to investigate an approach for static type checking of object-oriented languages that does not require such an additional downcast operator. We systematically weaken the rules for static type checking to avoid reporting errors that can be resolved using downcast operators. This leads to an approach similar to quasi-static typing that enables to make type annotations stricter in a gradual way. These stati...
AbstractJavaScript is a powerful imperative object based language made popular by its use in web pag...
AbstractThis paper presents a new approach to the problem of guaranteeing that definite logic progra...
Abstract. Many low-level runtime engines and virtual machines are stack based- instructions take par...
Statically typed programming languages allow earlier error checking, better enforcement of disciplin...
Most languages fall into one of two camps: either they adopt a unique, static type system, or they a...
In this paper we present a type system with strong typing and static type checking that is not yet w...
Static and dynamic type systems have well-known strengths and weaknesses, and each is better suited ...
use of program operations. They can be classified as either static or dynamic depending on when they...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
Abstract. Static and dynamic type systems have well-known strengths and weaknesses. In previous work...
This paper is concerned with the relation between subtyping and subclassing and their influence on p...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
AbstractPart 1 of this paper is an analysis of problems concerning type systems and static semantics...
In this report we propose a new approach to types and static type checking in object-oriented databa...
AbstractJavaScript is a powerful imperative object based language made popular by its use in web pag...
AbstractThis paper presents a new approach to the problem of guaranteeing that definite logic progra...
Abstract. Many low-level runtime engines and virtual machines are stack based- instructions take par...
Statically typed programming languages allow earlier error checking, better enforcement of disciplin...
Most languages fall into one of two camps: either they adopt a unique, static type system, or they a...
In this paper we present a type system with strong typing and static type checking that is not yet w...
Static and dynamic type systems have well-known strengths and weaknesses, and each is better suited ...
use of program operations. They can be classified as either static or dynamic depending on when they...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
Abstract. Static and dynamic type systems have well-known strengths and weaknesses. In previous work...
This paper is concerned with the relation between subtyping and subclassing and their influence on p...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
AbstractPart 1 of this paper is an analysis of problems concerning type systems and static semantics...
In this report we propose a new approach to types and static type checking in object-oriented databa...
AbstractJavaScript is a powerful imperative object based language made popular by its use in web pag...
AbstractThis paper presents a new approach to the problem of guaranteeing that definite logic progra...
Abstract. Many low-level runtime engines and virtual machines are stack based- instructions take par...