Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Background

If you feel that God syntax is familiar, that's probably because it is.
God isn't a new syntax; it is derived directly from the Nix programming
language. Any valid God code can be validated directly by Nix, with
nix eval -f file.god. It is a subset of Nix which omits it's programming
syntax and dynamic features in favor of static data representation.

Benefits

  • Validation and JSON conversion with the nix eval
  • A number of existing tools for working with Nix code
  • A thorough Emacs mode
  • Static analyzers and linters such as statix
  • Language servers such as nixd and nil

Purpose

I'd say that God has about the same purpose as other serialization formats,
though we take a different approach to specification than most. The main goal
is to be as useful as possible to as many languages as possible, which is
not a goal you obtain by making an overly-complicated and restrictive spec.

If you would like to see some sample document files, see the examples page.