Sciweavers

SIGCSE
2009
ACM

The hidden injuries of overloading 'ADT'

15 years 1 months ago
The hidden injuries of overloading 'ADT'
commonly stated definition of abstract data type (ADT) is that it is a domain of values and the operations over that domain. So, for example, a language's built-in types, like int are seen to be ADTs. It is our opinion that a pure interpretation of this definition yields a semantics in which using an ADT is the same as using built-in types: the operations are side effect free and there is no concern over alias, shallow copy or synchronization . Unfortunately, the term abstract data type has over time been associated with at least three distinct meanings, and those incompatible definitions have often been conflated, causing confusion to students and textbook authors alike. We believe that this has resulted in a loss of appreciation for the value-based semantics of ADTs. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Contructs and ? abstract data types, classes and objects, data types and structures, modules. E.1 [Data]: Data Structures ? lists, stacks, ...
Duane Buck, David J. Stucki
Added 24 Nov 2009
Updated 24 Nov 2009
Type Conference
Year 2009
Where SIGCSE
Authors Duane Buck, David J. Stucki
Comments (0)