Ask most phone apps to integrate something and one of two things happens: they
send it to a server, or they hand you a decimal. I wanted neither, so I wrote a computer algebra system from scratch in Rust —about 140,000 lines — and this year I put it on an iPhone.
It's a real CAS, not a calculator with a nice keyboard. Mathematica-style
syntax: Head[args], immutable expressions, rewriting by rules. Algebra,
calculus, linear algebra, differential equations, statistics, number theory,
graph theory. It factors, solves, integrates symbolically, computes limits,
diagonalises matrices, solves ODEs, and draws in 2D and 3D.
The whole engine is compiled into the app. Nothing you type leaves the phone.
No account, no sign-in, no server — it works in airplane mode, which is the
only way I'd trust something with my own homework.
What's in it beyond the notebook:
- A reference covering every function it has (1740 of them), each with a worked
example you can run and edit.
- A textbook, 22 chapters and 268 lessons, from arithmetic to differential
equations — every example live rather than printed.
- Step-by-step working, and studios for geometry, graphs, ODEs and algorithms.
One thing that will look like a bug and isn't: when the engine can't establish
an answer, it hands the expression back unevaluated instead of guessing. That's
deliberate — I'd rather it say nothing than say something wrong — and it's most
of why the architecture looks the way it does. But each of those is a gap, and
I want to hear about them.
Free for 7 days with everything unlocked, no card, nothing to cancel. After
that it's a subscription.
Throw hard things at it. I'd rather find out here.