aboutsummaryrefslogtreecommitdiffstats
path: root/draft/types-operators.txt
diff options
context:
space:
mode:
Diffstat (limited to 'draft/types-operators.txt')
-rw-r--r--draft/types-operators.txt47
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
+------------------------------------------------------------------------
+