Semantic subtyping for objects and classes

Dardha, O. , Gorla, D. and Varacca, D. (2017) Semantic subtyping for objects and classes. Computer Journal, 60(5), pp. 636-656. (doi:10.1093/comjnl/bxw080)

[img]
Preview
Text
135155.pdf - Published Version
Available under License Creative Commons Attribution.

967kB

Abstract

In this paper we propose an integration of structural subtyping with boolean connectives and semantic subtyping to define a Java-like programming language that exploits the benefits of both techniques. Semantic subtyping is an approach for defining subtyping relation based on set-theoretic models, rather than syntactic rules. On the one hand, this approach involves some non trivial mathematical machinery in the background. On the other hand, final users of the language need not know this machinery and the resulting subtyping relation is very powerful and intuitive. While semantic subtyping is naturally linked to the structural one, we show how our framework can also accommodate the nominal subtyping. Several examples show the expressivity and the practical advantages of our proposal.

Item Type:Articles
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Dardha, Dr Ornela
Authors: Dardha, O., Gorla, D., and Varacca, D.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Computer Journal
Publisher:Oxford University Press
ISSN:0010-4620
ISSN (Online):1460-2067
Published Online:05 December 2016
Copyright Holders:Copyright © 2016 The British Computer Society
First Published:First published in Computer Journal 60(5):636-656
Publisher Policy:Reproduced in accordance with the publisher copyright policy

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering & Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE