Code Monkey home page Code Monkey logo

dbss's Introduction

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

dbss's People

Contributors

i-e-b avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.