CALCULA
Welcome!
Docs
Pages
1. Untitled
Hello Calcula!
2. Second Text Element
Calcula is a mashup of a spreadsheet and a JavaScript REPL.

In fact, this entire site is built directly in Calcula!
3. Calculations can be done in JavaScript
['Hello', 'Calcula!'].join(' ');
Hello Calcula!
4. Untitled
And data can be stored in tables (which are just arrays of JavaScript objects).
5. people
ID
name
age
1
1
John
37
2
2
Bill
29
3
3
Mary
31
4
4
Sue
43
6. Previous elements can be read by index
$(5).map(person => person.name);
1John
2Bill
3Mary
4Sue
7. Previous elements can also be read by the element's title
$('people').map(person => person.age);
137
229
331
443
8. Previous elements can be read by relative index too
// Only negative relative indices work, because a
// positive index would imply time-traveling (to a later value/calculation)

$(-1);
137
229
331
443
9. Even text elements can be read by later code elements
$(2);
Calcula is a mashup of a spreadsheet and a JavaScript REPL. In fact, this entire site is built directly in Calcula!
10. Code element rseults can also read previous code elements
$(-1).toLowerCase();
calcula is a mashup of a spreadsheet and a javascript repl. in fact, this entire site is built directly in calcula!
11. Text elements even support markdown
**Markdown** is _supported_ and so are emoji 🎉