You need to enable JavaScript to run this app.
CALCULA
Welcome!
Docs
Pages
Welcome!
Docs
Data Formats
Docs
Markdown Support
Docs
Tables
Docs
Cross-element References
Docs
Built-in Functions
Docs
Custom Functions
Docs
Illegal Cross-element References
Docs
Error Handling
Docs
Requiring Modules
Docs
PRO
Upgrade to PRO
PRO
About
Boolean Truth Tables
Example
RegEx Sandbox
Example
Shelving Project
Example
Add page
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
)
;
1
John
2
Bill
3
Mary
4
Sue
7. Previous elements can also be read by the element's title
$
(
'people'
)
.
map
(
person
=>
person
.
age
)
;
1
37
2
29
3
31
4
43
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
)
;
1
37
2
29
3
31
4
43
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 🎉
Insert row above
Insert row below
Delete row
Configure column
Insert column before
Insert column after
Delete column