diff options
Diffstat (limited to 'final_project/work/notes')
-rw-r--r-- | final_project/work/notes | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/final_project/work/notes b/final_project/work/notes new file mode 100644 index 0000000..f67cece --- /dev/null +++ b/final_project/work/notes @@ -0,0 +1,57 @@ + +Types in r5rS: +---------------------------------------------------------------- +boolean, symbol, char, vector, pair, number, string, port, procedure + +for numbers, the tower goes + + { number { complex { real { rational { integer }}}}} + + +Useful mechanics things (from manual/refman.txt): +---------------------------------------------------------------- +I think a lot of these are r5rs + +(type x) + returns the type (eg, *vector*) + +(type-predicate x) + returns a predicate that returns true for objects of the same type + as x + +(arity p) + what it sounds like when p is a procedure + +(structure? x) + predicate for structured objects + +(sigma f low high) + sums over integers inclusive form low to high + +Mechanics package primatives (?): +---------------------------------------------------------------- +number, vector, matrix, function + +unary operators go like ((U f) x) = (U (f x)) + +binary operators go like ((B f g) x) = (B (f x) (g x)) + +operators are functions that are "sticky" and act like multiplication? + +the primative types might actually be a symbolic expression which would return +the same type, eg (*number* (sin (+ 4 'b))) + +Other mechanics structures (?): +---------------------------------------------------------------- + +(up 1 2 3) + "up" tuple + +(down 4 5 6) + "down" tuple + +(matrix-by-rows '(1 2 3) '(4 5 6) '(7 8 9)) + M by N matrix + +(series 0.5 0.4 0.3 0.2 0.1) + power series with the given coefficients. serieses can be finite or streams |