not in calc.mjs: a module script runs after the document is parsed. `embedded` strips the chrome the embedding page already provides, and the light theme is the homepage's own setting, applied the same way it does it — but only on a direct visit, since inside an iframe the parent already inverts this document. -->
🧮 CALC.EXE ~ NOW RUNNING IN YOUR BROWSER VIA WEBASSEMBLY 🧮 * NO INSTALL REQUIRED * IT IS A VIM, BUT FOR ARITHMETIC * TYPE i TO INSERT, ESC TO STOP * 100% FREEWARE, 0% SPYWARE 💾
C:\CALC.EXE — 100% FREEWARE 640K OUGHT TO BE ENOUGH
► CLICK THE TERMINAL, THEN TYPE ◄

Every line is an expression and its result is shown after it, where you cannot edit it. Move around and edit any line; everything below recomputes as you type. Saving works here but the file lives in this tab only, so it is gone on reload — and :q starts the tour over instead of leaving you a dead terminal. A keyboard is required, so this one is for desktops.

i a o O insert · Esc back to normal
h j k l move · w b e words · gg G ends
dd cc yy lines · dw d$ d2w operators + motions
u undo · Ctrl-R redo · . repeat
x = 5 a variable · RATE = 0.08 a constant
sqrt(16) pow(2, 10) 2^-1 # a comment
define f(x): x^2 a function · :plot charts the one you are on
sum(3, 6, f) adds f over a range · nest one sum per parameter
4! factorial, up to 170! · fact(4) is the same by name
gy copy this line's result · gY copy both sides
1 / 0 is inf · :set infinity=projective changes what that means
:help :set number :42 :noplot :github :q
calc did not start. Its console messages say why — and it needs WebAssembly, which every browser since 2017 has.
WEBASSEMBLY C++20 + FTXUI VIM KEYS BEST IN IE5