feat(tvix/eval): Add a proc-macro for defining builtins

Add a single new proc macro to a new proc-macro crate,
`tvix-eval-proc-macros` for defining an inline module containing nix
builtins, and automatically generating a function within that module
which returns a list of those builtins as `tvix_eval::value::Builtin`.

Change-Id: Ie4afae438914d2af93d15637151a49b4c68aa352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7198
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: Adam Joseph <adam@westernsemico.com>
Tested-by: BuildkiteCI
This commit is contained in:
Griffin Smith 2022-11-05 19:50:31 -04:00 committed by grfn
parent cf82a545eb
commit 645d0c06e5
9 changed files with 1133 additions and 3 deletions

View file

@ -27,6 +27,7 @@ clap = { version = "3.2.22", optional = true, features = ["derive", "env"] }
serde = "1.0"
serde_json = "1.0"
regex = "1.6.0"
builtin-macros = { path = "./builtin-macros", package = "tvix-eval-builtin-macros" }
# rnix has not been released in a while (as of 2022-09-23), we will
# use it from git.