finds.dev← search

// the find

munificent/magpie

★ 376 · Python · NOASSERTION · updated Dec 2020

The Magpie programming language

Magpie is a research programming language by Bob Nystrom (author of Crafting Interpreters), built around multimethods and pattern matching. It has two implementations: a Java prototype and a C++ bytecode VM, both effectively abandoned since 2020. This is a language design experiment, not something you'd ship code in.

Multimethods as a first-class dispatch mechanism is a genuinely interesting design — it avoids the awkwardness of single-dispatch OOP for operations that span types. The Java prototype letting you iterate the REPL incrementally, including class definitions, is a nice workflow for language exploration. Having two implementations (tree-walk and bytecode) gives the repo real pedagogical value for anyone studying language implementation approaches. Nystrom's track record means the core language ideas are well-considered.

Dead since 2020 — the C++ VM was 'in progress' and never finished, so you're using a JVM prototype that exists mainly to prove semantics. The build system is gyp, which was deprecated by Google years ago and is a pain to get running today. No package manager, no stdlib worth mentioning, no tooling ecosystem — the language website (magpie-lang.org) is likely gone. At 376 stars and zero recent activity, there's no community and no path to production use.

View on GitHub → Homepage ↗

// 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 →