Nix is the next step in that evolution. It’s basically just JSON that can generate itself !

It’s basically just JSON that can generate itself !

You have inspired me.

I will make JSON with meta-programming

I will call it DyJSON, i.e. “Dynamic JSON” but pronounced “Die, Jason!”

It is JSON with meta-programming and the ability to call C functions from libraries

Example:

# This is a line comment # Put your function definitions up here (concat str_a str_b: "concat" "my-lib.so") # Import a function through a C ABI (make-person first_name last_name email -> { # Define our own generative func "name": (concat (concat $first_name " ") $last_name), "email": $email }) # And then the JSON part which uses them [ (make-person "Jenny" "Craig" "[email protected]"), (make-person "Parson" "Brown" null) ]

As you can see, it is also a LISP to some degree

Is there a need for this? A purpose? No. But some things simply should exist

Thank you for helping bring this language into existence

I think you’ve just invented Jsonnet, but with C integration.

jsonnet.org

Jsonnet - Jsonnet Configuration Language

A powerful DSL for elegant description of JSON data.