Skip to main navigation Skip to search Skip to main content

Abstract and Concrete Data Types vs Object Capabilities

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

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

1 Citation (Scopus)

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?.

Original languageEnglish
Title of host publicationPrincipled Software Development
Subtitle of host publicationEssays Dedicated to Arnd Poetzsch-Heffter on the Occasion of his 60th Birthday
EditorsPeter Müller, Ina Schaefer
PublisherSpringer International Publishing AG
Pages221-240
Number of pages20
ISBN (Electronic)9783319980478
ISBN (Print)9783319980461
DOIs
Publication statusPublished - 2018
Externally publishedYes

Fingerprint

Dive into the research topics of 'Abstract and Concrete Data Types vs Object Capabilities'. Together they form a unique fingerprint.

Cite this