06 Data Abstraction

A data abstraction is a specification of operations on a set of values, for example, stacks have push, pop, peek, etc...

A data structure is an implementation of a data abstraction with a particular representation. For example, ListStack implemented StackSig with 'a list, (::), etc...

Let's build a data abstraction and structure for sets.

Now we have the sig Set. It is a set of values.