Show HN: Mycelium
Published on: 2025-07-07 16:56:36
Mycelium
Mycelium is a set of typed formats for storing and transferring data. As you might expect it supports things like:
Bits
Arrays
Products
Sums (Coproducts)
Lists
But as you might not expect, it also has support for:
Refs (pointers)
Expressions
Functions/Procedures
Types
Every value that you can specify in Mycelium has a Type (which is also a Value), and every Value can be stored or transferred. Values can be computed by evaluating Expressions. Expressions are also Values and can also be stored or transferred.
Virtual Machine mvm1/
The Mycelium Virtual Machine (MVM) is an abstract machine model that defines what it means for a Mycelium Expression to be evaluated. It is not necessary to have an MVM implementation in order to send and receive Mycelium Values. A reference implementation of the MVM, written in Go, is available in the mvm1 directory.
Here are some fast facts about the MVM:
All Values in the MVM are immutable.
The MVM models interprocess interactions a
... Read full article.