Max Wash 21bcbb7edc mie: add a namespace/uuid-based map data structure
rather than a traditional dictionary or hashmap, this data structure supports a one-to-one
mapping between a UUID and a value. this is an intrusive data structure like mie_name_map
(a value struct must include an instance of mie_id), but this one does not support name collisions.

mie_id_map generates and issues UUIDs based on a name provided by the caller. All UUIDs are v5,
meaning they are generated using a SHA1 hash of a namespace UUID (specified when the mie_id_map
is initialised), and a unique name provided by the caller.

mie_id can also be used standalone to generate, store, and stringify UUIDs.
2026-01-04 14:03:22 +00:00
2025-11-16 20:48:54 +00:00
2025-11-16 20:48:54 +00:00
2025-11-16 20:48:54 +00:00

License


Logo

Mie

The Metacompute Instruction Engine
Explore the docs »

Report Bug · Request Feature

Table of Contents

About The Project

Mie is an extensible intermediate representation framework inspired by LLVM and MLIR. It is designed to accept high-level program representation from a compiler front-end, lower and optimise it into a flat stream of low-level instructions, and then convert it into a target-specific implementation.

(The name Mie is pronounced like "me", "bee", or "sea", and (despite the logo) is not pronounced like "my", "bye", or "pie")

License

Distributed under the BSD 3-Clause License. See LICENSE for more information.

Description
The Metacompute Instruction Engine
Readme BSD-3-Clause 824 KiB
Languages
C 97.2%
CMake 1.8%
Vim Script 1%