We introduce a new algorithm to analyze recursive, structured types. It derives information from object uses (accesser functions with type checking), as well as from object allocation. The type description is a form of graph grammar and is naturally finite even in the presence of loops. The intended use of the algorithm is to discover and remove unnecessary type checks, but it can be augmented to provide alias information as well. 1 Introduction We are interested in the behavior of programs in an untyped language with data structures constructed from records containing pointers, typified by Lisp programs that manipulate structures built from cons cells. In this paper, we will introduce a new algorithm to analyze such programs. Unlike many ...
In this work, a method to formalise general recursive algorithms in constructive type theory is pres...
Compilers for polymorphic languages can use run-time type inspection to support advanced implementat...
The paradigm of type-based termination is explored for functional programming with recursive data t...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
Abstract. Type inference in the context of polymorphic recursion is notoriously difficult. The exten...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
So far type information for programs written in untyped object-oriented languages equipped with inhe...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
Compilers for polymorphic languages can use runtime type in-spection to support advanced implementat...
This thesis presents a type system which supports the strong static type checking of programs develo...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Modern type systems for programming languages usually incorporate additional information useful for ...
We present a new approach to inferring types in untyped object-oriented programs with inheritance, a...
Exploratory programming languages and development enjoy a reputation for enabling both rapid develo...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
In this work, a method to formalise general recursive algorithms in constructive type theory is pres...
Compilers for polymorphic languages can use run-time type inspection to support advanced implementat...
The paradigm of type-based termination is explored for functional programming with recursive data t...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
Abstract. Type inference in the context of polymorphic recursion is notoriously difficult. The exten...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
So far type information for programs written in untyped object-oriented languages equipped with inhe...
. Since record polymorphism is one of essential factors for object-oriented languages, various appro...
Compilers for polymorphic languages can use runtime type in-spection to support advanced implementat...
This thesis presents a type system which supports the strong static type checking of programs develo...
We consider type systems that combine universal types, recursive types, and object types. We study t...
Modern type systems for programming languages usually incorporate additional information useful for ...
We present a new approach to inferring types in untyped object-oriented programs with inheritance, a...
Exploratory programming languages and development enjoy a reputation for enabling both rapid develo...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
In this work, a method to formalise general recursive algorithms in constructive type theory is pres...
Compilers for polymorphic languages can use run-time type inspection to support advanced implementat...
The paradigm of type-based termination is explored for functional programming with recursive data t...