Makrell#¶
Makrell# is the .NET and CLR-hosted Makrell implementation.
Its direction is to make Makrell useful in the .NET ecosystem while staying close to the family model: shared structure, functional flow, pattern matching, macros, MRON, MRML, and host interop.
Why use Makrell#¶
CLR and .NET library interop
compilation to .NET assemblies
dynamic compile/load workflows
a growing macro and meta system
MRON and MRML support through the same implementation track
Best fit¶
Makrell# is a good fit when you want:
direct access to the .NET library ecosystem
a CLI-oriented compile and run workflow
Makrell forms combined with CLR construction, method calls, and assembly loading
the current .NET implementation of MRON and MRML
Recommended reading path¶
If you are new to Makrell#, a practical order is:
Relationship to the rest of the family¶
Makrell# is the .NET implementation track. It keeps the shared Makrell model while adapting it to CLR interop, compilation, dynamic loading, and .NET- oriented tooling.
Current emphasis¶
The current documentation emphasises:
the compiler and CLI workflow
.NET interop patterns
the current macro and meta model
MRON and MRML as part of the same implementation area
- Installation
- Quick Start
- Guide
- Cookbook
- Useful recipe areas
- Recipe: run and build
- Recipe: inspect generated C#
- Recipe: CLR interop
- Recipe: Makrell-shaped generics
- Recipe: parse MRON and MRML
- Recipe: meta and macros
- Recipe: inspect replayable compile-time metadata
- Recipe: a generic collection workflow
- Recipe: a simple match plus interop flow
- How to use this cookbook
- More Makrell# recipes
- CLI Recipes
- Interop Recipes
- Macro and Meta Recipes
- Start with the checked-in showcase
- Recipe: start with a
metahelper - Recipe: define a small structural macro
- Recipe: normalise arguments with
regular - Recipe: keep compile-time and runtime roles separate
- Recipe: inspect replayable compile-time sources
- Recipe: use the public showcase as a smoke test
- Related pages
- Interop
- Macros and Meta
- Tooling
- Status