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 Literal functions ---------------------------------------------------------------- "->" is kind of like quote and takes two structures; this literal function maps from the first to the second. Valid descriptors are: X cross product Real real (obviously) UP up tuple DOWN down tuple UP* variable length tuple of the same type (eg (UP* '*number* 5) ) DOWN* same for down tuples OTHER STUFF??? ------------------------------ eigenvalues/vectors, roots of polynomials, display helpers (already)