Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
DBSS ==== A toy spread-sheet engine with SQL backing Each cell can have a name, a value and a formula. Names hide but don't overwrite formulas and values (like giving a function or constant a name) Formulae update values based on calculations Values are values. Formulae DON'T start in '=' (this isn't Excel!) Formulae are infix, support functions and scientific notation of large numbers. Functions are nestable. Operators: + add - substract * multiply / divide ^ exponent % modulo ! Constants defined: (case insensitive) pi - Value of π e - Value of e R - Row (Y-value) of current cell C - Column (X-value) of current cell Functions defined: (case insensitive) LOOKUP functions (co-ords are absolute. To get relative co-ordinates, do like "$(C,R-1)") $(x,y) - value of cell at co-ordinates given $f(x,y) - function string of cell at co-ordinates given $n(x,y) - name of cell at co-ordinates given floor(x) - integer value from floor of float ceil(x) - integer value from ceiling of float sqrt(x) - square root of x cos(x) - Cosine of x sin(x) - Sine of x sign(x) - *ve sign of x (-1, 0, 1) TODO ---- - More common functions - Lookup by cell name - Lookup by truth-table (1D and 2D to start with, possible reduction sets for 3+D) - Colour code cells by what fields are populated. - Use named cells as functions in formulae