Skip to content

MAML

Minimal. Human-readable. Machine-parsable.

maml
{
  project: "MAML"
  tags: [
    "minimal"
    "readable"
  ]

  # A simple nested object
  spec: {
    version: 1
    author: "Anton Medvedev"
  }

  # Array of objects
  examples: [
    {
      name: "JSON", born: 2001
    }
    {
      name: "MAML", born: 2025
    }
  ]

  notes: """
This is a multiline raw strings.
Keeps formatting as-is.
"""
}

Rationale

JSON is the most popular data-interchange format. But it isn't a very good configuration language.

MAML keeps JSON’s simplicity and adds only the needed bits for a good configuration language:

  1. Comments
  2. Multiline raw strings
  3. Optional commas
  4. Optional key quotes
  5. Ordered key-value objects

MAML is human-readable and easy to parse.

FAQ

  1. What’s the difference between MAML and JSONC/JSON5?
  2. Why not Zig-style multiline?
  3. What about YAML?

Editor Support

Implementations

MAML is a brand-new language, so feel free to create new implementations following the specification.

Projects Using MAML

  • google/zx – A tool for writing better scripts
  • Envi – Environment file management
  • Tachi Code – Browser-native code editor
  • Add your project too!