Discussion so far has dealt with lists in the form of arrays. Let us examine the concept of a list itself in more detail. We will describe it as an abstract data type (ADT) in terms of what it is and the operations it should be capable of, before considering how it may be created in practice. We shall then choose a strategy to implement the ADT as an actual structure.
There are a number of ways of describing an ADT, and we shall do so in an informal functional ...