December 2021
Beginner
840 pages
47h 29m
English
Reimplementing [familiar] algorithms and data structures i n a significantly different language often is an aid to understanding of basic data structure and algorithm concepts.
— Jeffrey D. Ullman, Elements of ML Programming (1997)
Type systems support data abstraction and, in particular, the definition of user-defined data types that have the properties and behavior of primitive types. We discuss a variety of aggregate and inductive data types and the type systems through which they are constructed in this chapter. A type system of a programming language includes the mechanism for creating new data types from existing types. A type system should support the creation of new data types easily and flexibly. We ...