Welcome to Mycel
Mycel is a markup language built to fix the long-standing problems in documentation, structured content, and knowledge management. It aims to deliver a system where content is human-readable, machine-understandable, secure, and predictable, without the ambiguity of Markdown or the complexity of LaTeX.
At its core is a simple belief:
Form is function.
What Mycel Is (and Is Not)
Section titled “What Mycel Is (and Is Not)”Mycel is currently a conceptual project. No compiler or runtime exists yet, but the design is being defined with extreme care. The goal is to create an ecosystem that is powerful enough for researchers and developers, but clean and expressive enough for everyday writing.
Why Mycel Exists
Section titled “Why Mycel Exists”Mycel is being designed for people who work with structured content and are tired of hitting the same problems over and over:
1. Ambiguity and Inconsistent Rendering
Section titled “1. Ambiguity and Inconsistent Rendering”Markdown’s inconsistent parsing rules or LaTeX’s fragile syntax create unpredictable results.
Mycel is built around a strict, unambiguous grammar to ensure deterministic output.
2. Complexity and Fragile Tooling
Section titled “2. Complexity and Fragile Tooling”Traditional documentation systems often become difficult to maintain or extend.
Mycel aims for a modern semantic architecture that stays powerful without turning into a maze of hacks.
3. Security and Predictability
Section titled “3. Security and Predictability”Content systems shouldn’t be security risks.
Mycel is envisioned as a sandboxed, multi-pass compiler with hard boundaries between data, logic, and effects.
The Mycel Ecosystem
Section titled “The Mycel Ecosystem”The Mycel ecosystem consists of several major components, each focused on clarity, reliability, and extensibility.
The Mycel Language
Section titled “The Mycel Language”The Mycel language is a semantic markup language that decouples meaning from appearance. It prioritizes readability both in the source and in the final rendered output.
Key principles
Section titled “Key principles”• Deterministic grammar: Every construct has a single meaning, no ambiguous parsing.
• Human-first design: Raw Mycel files should be just as clear as the rendered version.
• Multi-pass compilation with strict effect phases: Each compilation stage is tightly controlled for security, repeatability, and stability.
For technical details, see the Mycel Language Specification (coming soon).
Mycel Object Notation (MON)
Section titled “Mycel Object Notation (MON)”MON (.mon) is the native data language of the Mycel ecosystem.
Think of it as a high-fidelity, human-friendly superset of JSON designed for structured, static data.
Core benefits of MON
Section titled “Core benefits of MON”1. Ergonomic and maintainable: Supports comments, trailing commas, and unquoted keys.
2. Declarative and static: No executable logic. All resolution happens at compile time.
3. Compositional: Complex data structures can be built from smaller, reusable pieces through imports and anchors.
4. Secure by design: MON is interpreted as part of a strict, sandboxed compiler pipeline.
Learn more in the MON Language Guide (coming soon).
Mycel Query Language (MQL)
Section titled “Mycel Query Language (MQL)”MQL gives Mycel documents access to a project-wide knowledge graph. It enables searching, filtering, and aggregating structured information directly inside documents.
What defines MQL
Section titled “What defines MQL”• Index-first design: Queries operate on an optimized, pre-compiled index.
• Simple, declarative syntax: Readable queries that hide underlying complexity.
• Fully sandboxed: Read-only queries with no access to raw filesystem content.
MQL is still a conceptual feature and may evolve as the ecosystem develops.
Plugin Architecture (WASM-Based)
Section titled “Plugin Architecture (WASM-Based)”Mycel plans to include a WASM-based plugin system to support dynamic content generation, computed values, and conditional logic.
Design principles
Section titled “Design principles”• Zero-trust sandboxing: Plugins must explicitly request capabilities.
• Language-agnostic ABI: Any language targeting WebAssembly can create Mycel plugins.
• Deterministic behavior: Same inputs + same permissions = same output, every time.
This system is under active conceptual design.
Disclaimer
Section titled “Disclaimer”Mycel is a personal, aspirational project. Everything described here, features, timelines, and architecture, is subject to change as the system evolves.