The algebraic specification of data notation given here is definitive. The occasional informal comment is inserted in the formal specification where appropriate.
The specification is divided into nested modules. The order of presentation of the modules is such that earlier modules do not often refer to later ones. In fact the submodules could be presented in a strictly bottom-up manner, but this would make navigation more difficult. Reference to the module Data Notation/General includes all the specified modules except for the submodule Characters/ASCII, thus allowing specialization to alternative character sets. It also omits the Instant submodules, which are intended for use with the symbols translated to some specified sort. |
General -> Includes: Tuples, Truth-Values, Numbers,Lists, Strings, Sets, Maps. Tuples 1. Generics 2. Basics -> Includes: Generics, Numbers/Naturals/Basics. 3. Specifics -> Includes: Basics, Numbers/Naturals/Specifics. Truth-Values 1. Basics 2. Specifics -> Includes: Basics. Numbers 1. Naturals 1.1 Basics 1.2 Specifics -> Includes: Basics. 2. Integers 2.1 Basics -> Includes: Naturals/Basics. 2.2 Specifics -> Includes: Basics, Naturals. 3. Rationals 3.1 Basics -> Includes: Integers. 3.2 Specifics -> Includes: Basics. 4. Approximations 4.1 Basics -> Includes: Rationals. 4.2 Specifics -> Includes: Generics. Lists 1. Flat 1.1 Generics 1.2 Basics -> Includes: Generics. 1.3 Specifics -> Includes: Basics. 2. Nested 2.1 Generics -> Includes: Flat/Generics. 2.2 Basics -> Includes: Generics, Flat/Basics. 2.3 Specifics -> Includes: Basics, Flat/Specifics. Strings 1. Basics -> Includes: Characters/Basics. 2. Alphanumerics -> Includes: Basics, Characters/Alphanumerics. Sets 1. Generics 2. Basics -> Includes: Generics. 3. Specifics -> Includes: Basics. Maps 1. Generics -> Includes: Sets/Gererics. 2. Basics -> Includes: Generics, Sets. 3. Specifics -> Includes: Basics.