Explanation

Background and design rationale — how Huml.Net works and why it is built the way it is. Nothing here is required to use the library; read these when you want to understand it or contribute.

  • Versioning model — how package versions track HUML spec versions, and the support window policy.
  • The pipeline — end-to-end data flow: Lexer → Parser → AST → serialiser/deserialiser.
  • Version gates — how spec-version branching works and how a new spec version is added.
  • Working with the AST — the HumlDocument node hierarchy and pattern-matching over it.
  • Extending the pipeline — checklists for adding AST nodes, token types, and supported .NET types.
  • Performance benchmarks — measured figures against System.Text.Json, with honest commentary.