• Corpus ID: 59850720

Universe Type System for Scala

@inproceedings{Schregenberger2007UniverseTS,
  title={Universe Type System for Scala},
  author={Daniel Schregenberger and Werner Dietl and Peter M{\"u}ller},
  year={2007}
}
Scala combines the object-oriented and functional paradigms to an expressive programming language. It supports the creation of class hierarchies known from object-oriented languages like Java or C# and at the same time allows to model algebraic types through pattern matching, as found in many functional programming languages. The Universe type system applies the concept of ownership to Java-like languages and allows to control object modi cation and thereby maintain invariants. It does so by… 
Implementing a Universe Type System for Scala
TLDR
This thesis presents an implementation of the Universe type system for Scala, which supports a subset of the Scala language and provides two compiler plugins for the Scala compiler and a set of annotations for the use in programs.
Universe Types - Topology, Encapsulation, Genericity, and Tools
We present Generic Universe Types, a sound, lightweight ownership type system for type-generic object-oriented programming languages, which cleanly separates the ownership topology from the
Ownership Type Systems and Dependent Classes
TLDR
This paper presents an encoding of the topological part in dependent classes and describes how to enforce the restrictions of ownership type systems directly on the dependent classes program.
2007 State of the Universe Address
This position paper summarizes recent developments related to the Universe type system and suggests directions for future work. 1. Universe Type System The Universe type system is an ownership type
2007 State of the Universe
This position paper summarizes recent developments related to the Universe type system and suggests directions for future work. 1. Universe Type System The Universe type system is an ownership type

References

SHOWING 1-10 OF 32 REFERENCES
Generic Universe Types
TLDR
An ownership type system for a Java-like programming language with generic types that combines the owner-as-modifier discipline with type genericity and requires modifications of an object to be initiated by its owner.
Implementing a Universe Type System for Scala
TLDR
This thesis presents an implementation of the Universe type system for Scala, which supports a subset of the Scala language and provides two compiler plugins for the Scala compiler and a set of annotations for the use in programs.
Universes: Lightweight Ownership for JML
TLDR
It is shown that the combination of the lightweight Universe type system and JML specifications is flexible enough to handle interesting implementations while keeping the annotation and checking overhead small.
Variant path types for scalable extensibility
TLDR
The mechanism of variant path types is introduced, which provide a flexible means to express intra-group relationship that has to be preserved through extension, and features the new notions of exact and inexact qualifications, providing rich abstractions to express various kinds of set of objects.
A framework for implementing pluggable type systems
Pluggable types have been proposed to support multiple type systems in the same programming language. We have designed and implemented JavaCOP, a program constraint system for implementing practical
Implementing Uniqueness and Ownership Transfer in the Universe Type System
Introduction. The Universe type system allows a programmer to control aliasing and dependencies in object-oriented programs by applying an ownership relation to structure the object store. An
A Nominal Theory of Objects with Dependent Types
We design and study vObj, a calculus and dependent type system for objects and classes which can have types as members. Type members can be aliases, abstract types, or new types. The type system can
Tribe: a simple virtual class calculus
TLDR
Tribe is presented, a type system which generalises and simplifies other formalisms of such mechanisms, by treating issues which are inessential for soundness, such as the precise details of dispatch and field initialisation, as orthogonal to the core formalism.
An Overview of the Scala Programming Language
TLDR
This paper gives an overview of the Scala language for readers who are familar with programming methods and programming language design.
Simple Loose Ownership Domains
TLDR
This work developed so-called loose domains which abstract over several precise domains, similar to the relation between supertypes and subtypes, and formalized the resulting type system for an OO core language and proved type soundness and a fundamental accessibility property.
...
...