An always terminating, statically typed spreadsheet!
Have you ever felt that your spreadsheet was holding you back? Wondered if there was a better alternative? Tired of thinking about what really is the last argument of COUNTIF? If life really makes any sense?
Meet SPREADS!
Spreads is an always-terminating, well typed spreadsheet. Based on the Morte language, Spreads allows you to:
- Define functions!
- Always terminate!
- Have a reasonable COUNTIF interface!
- Have a reasonable VLOOKUP, HLOOKUP, MATCH and friends interface!
Furthermore, Spreads has a layers concept, that allows you to clearly separate the Presentation of a value and the Value in itself. No more "What the hell, favourite spreadsheet, 5 is not a string?"
Spreads is not really itself yet. For now, this repo should be seen as a very early stage prototype. Notable missing elements are:
- Almost all of normal spreadsheet functions!
- Arithmetic functions!
- Documentation!
- Almost everything!
If I were to risk designing a plan, I would say it would be the following:
- Come up with a reasonable way to infer some types (for arithmetic operations).
- Come up with a reasonable way to print multiline functions.
- Iron out details about how the Presentation layer works.
- Complete the standard library.
- ???
- Profit
Not yet.
I really want to try this early stage prototype that does nothing except having a multi-cell Morte interpreter, how do I do it?
- Clone the repo
- Install the haskell tool
stack
stack setup
stack build
stack exec -- Spreads