an abstract data type (adt) is code example
Example 1: what is an abstract data type
An abstract data type is a type with associated operations,
but whose representation is hidden...
source: wiki.haskell.org
Example 2: define abstract data type
Abstract Data type (ADT) is a type (or class) for objects whose behaviour is
defined by a set of value and a set of operations.
The definition of ADT only mentions what operations are to be performed
but not how these operations will be implemented.