finds.dev← search

// the find

robpike/ivy

★ 1,481 · Go · NOASSERTION · updated May 2026

ivy, an APL-like calculator

Ivy is an APL-inspired calculator/interpreter written in Go by Rob Pike, one of Go's creators. It supports big integers, big rationals, arbitrary-precision floats, complex numbers, vectors, and matrices with APL-style array operations. This is a personal project, not a production tool — the README says as much.

Arbitrary precision throughout: integers, rationals, and floats all use Go's math/big under the hood, so you won't hit float64 overflow on factorial(1000). The test suite is unusually thorough for a side project — testdata/ has explicit .ivy files for every type combination (bigfloat, bigrat, complex, matrix, vector) and the demo suite is runnable in-interpreter. Rob Pike wrote it, so the Go code is clean and readable, useful as a reference for anyone building a language in Go. Mobile app support (iOS/Android) ships from the same codebase via a mobile/ package.

It explicitly calls itself a plaything, and the API stability reflects that — breaking changes happen with no deprecation path. The iOS app is currently unavailable and the mobile apps are described as 'very old', which is a bad sign for anyone expecting that to work. APL syntax is famously hostile; without prior APL exposure, the learning curve is steep and the documentation beyond pkg.go.dev is thin (the talk video predates most current features). There is no package/module system, no way to import external ivy code, which caps how complex a program you can build.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →