Choosing an Implementation¶
The best implementation depends on what you want to do first. The Makrell family shares a common foundation, but the current tracks have different host languages, tooling, and maturity.
Use this page as a practical starting guide rather than a strict ranking.
Choose MakrellPy¶
Choose MakrellPy if you want:
a broad practical language experience
strong macro and pattern-matching examples
direct Python interop
a good place to learn family-wide Makrell ideas through one implementation
MakrellPy is often the easiest starting point when your goal is to understand the language model itself.
Choose MakrellTS¶
Choose MakrellTS if you want:
TypeScript or JavaScript alignment
browser and Node.js workflows
access to the JavaScript ecosystem
a path that fits frontend or web tooling better
MakrellTS is a natural choice when your host environment is already centered on TypeScript, Node.js, or the browser.
Choose Makrell#¶
Choose Makrell# if you want:
CLR and .NET interop
compiled assemblies and dynamic loading
the .NET CLI-oriented workflow
MRON and MRML support from the .NET track
Makrell# is the right fit when your main interest is the .NET ecosystem and its libraries.
Choose MRON or MRML¶
Choose MRON or MRML first if you mainly want:
structured data
structured markup
a Makrell-shaped format without adopting a full host language first
These are also useful when you are exploring the family through configuration, content, or markup rather than general programming.
A simple rule of thumb¶
If you are still undecided:
start with MakrellPy for language learning
start with MakrellTS for JavaScript or browser work
start with Makrell# for .NET work
start with MRON or MRML for data and markup tasks
For a broader side-by-side comparison, continue with Implementation Matrix.