December 2021
Beginner
840 pages
47h 29m
English
Type systems support data abstraction and, in particular, the definition of user-defined data types that have the properties and behavior of primitive types. A variety of aggregate (e.g., arrays, records, and unions) and inductive data types (e.g., linked list) can be constructed using the type system of a language. A type system of a programming language includes the mechanism for creating new data types from existing types. It should enable the creation of new data types easily and flexibly. The pattern matching built into ML and Haskell supports the decomposition of an (inductive) aggregate data type.
Variant records (i.e., unions of records) and abstract syntax are of particular use in data structures for representing ...