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.