diff options
Diffstat (limited to 'draft/types-operators.txt')
-rw-r--r-- | draft/types-operators.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/draft/types-operators.txt b/draft/types-operators.txt new file mode 100644 index 0000000..68bd058 --- /dev/null +++ b/draft/types-operators.txt @@ -0,0 +1,47 @@ +=============================== +Types and Operators +=============================== + +The careful definition of abstract types and the manipulation and handling of +instances by operators is the heart of any computational algebra system +(or indeed any data-driven symbolic system). + +The [R5R2] defines a simple "tower" of number subtypes (p.19): + + number + complex + real + rational + integer + +Each subtype is a subset of the subtype above it, so that each rational is +a complex but not every real is an integer. Additionally, every Scheme +number is either exact or inexact. The selection of the appropriate +implementation of operations like addition, exponentiation, or rounding for +arbitrary combinations of numbers and their return types is usually called +*operator dispatch*. For an operator of N arguments of M possible types, one +can imagine an M**N cell table defining the appropriate procedure (or +built-in hardware instruction) and return type for each combination of types. + +Such a table would be come unmanagably large for systems with even a modest +number of operators and types: for example each of the basic binary operators +(*, /, -, +, exp) would require it's own 2**(2*5)=1024 element table for the +basic types described above. Procedural operator dispatch and coersion allow +for more natural handling of type heirarchies. + +More rigorously defined algebras do not necessarily follow the simple strict +ordering of types like the Scheme number tower, or even a proper tree +structure: + +[figure: geometrical spaces from Merseve Geometry] +[figure: number types from Merseve Algebra] +[figure: math object hierarchy from Tegmark?] + +Types and Operators for Differential Geometry and Field Theories +------------------------------------------------------------------------ + +[topics: disjointness, + +Implementation +------------------------------------------------------------------------ + |