Abstract and Concrete Data Types vs Object Capabilities

Date

Authors

Noble, James
Potanin, Alex
Murray, Toby
Miller, Mark S.

Journal Title

Journal ISSN

Volume Title

Publisher

Springer International Publishing AG

Access Statement

Research Projects

Organizational Units

Journal Issue

Abstract

The distinctions between the two forms of procedural data abstraction— abstract data types and objects—are well known. An abstract data type provides an opaque type declaration, and an implementation that manipulates the modules of the abstract type, while an object uses procedural abstraction to hide an individual implementation. The object-capability model has been proposed to enable objectoriented programs to be written securely, and has been adopted by a number of practical languages including JavaScript, E, and Newspeak. This chapter addresses the questions: how can we implement abstract data types in an object-capability language? and, how can we incorporate primitive concrete data types into a primarily object-oriented system?.

Description

Keywords

Citation

Source

Book Title

Principled Software Development: Essays Dedicated to Arnd Poetzsch-Heffter on the Occasion of his 60th Birthday

Entity type

Publication

Access Statement

License Rights

Restricted until