Welcome to the MimIR Plugin Registry! This repository lists third-party plugins for the MimIR compiler infrastructure.
Plugins are developed independently and are not maintained as part of the MimIR core repository.
| 🏷️ Name | 🧠 Description | 👤 Maintainer | ✅ Version | 🗒️ Notes |
|---|---|---|---|---|
eqsat |
This plugin integrates the egg and slotted-egraphs libraries into MimIR to enable optimizing programs through the process of equality saturation. | Jannik Novak | 0.1 |
Each plugin entry includes:
- 🏷️ Name: Plugin name - hyperlinked to project homepage
- 🧠 Description: Short explanation of what the plugin does
- 👤 Maintainer: Author or team
- ✅ Version: Last known working MimIR version (
major.minor) - 🗒️ Notes: Optional remarks (experimental, deprecated, etc.)
MimIR provides a plugin interface that is versioned using the MimIR release version.
Plugins declare which MimIR version they are compatible with (major.minor).
MimIR may refuse to load plugins built for incompatible versions.
- MimIR
masteris under active development and may introduce breaking changes at any time. - Plugins are expected to target tagged MimIR releases (e.g.
0.1,0.2, ...). - Compatibility with
masteris not guaranteed. - This registry records the last known compatible MimIR version for each plugin.
Want your plugin listed here? Great.
To register a plugin:
- Fork this repository
- Add your plugin entry to the table above
- Ensure your plugin exports the required entrypoint (
mim_get_plugin()) - Open a pull request
Plugins should be buildable against at least one released MimIR version.
- MimIR releases (
0.1,0.2, ...) define the plugin API compatibility boundary. - Plugins should target released versions, not
master. - When MimIR introduces breaking plugin API changes, the MimIR version is bumped.
This registry does not guarantee that plugins remain compatible with future MimIR releases.
- This registry does not build, distribute, or validate plugins.
- It is purely informational.
- Use plugins at your own risk.