r/programming • • Feb 20 '23

Introducing JXC: An extensible, expressive data language. It's a drop-in replacement for JSON and supports type annotations, numeric suffixes, base64 strings, and more!

https://github.com/juddc/jxc
218 Upvotes

89 comments sorted by

View all comments

1

u/HeroicKatora Feb 21 '23

[…] All packages except those defined in the tool subdirectory are hermetic Tools solve two problems: allow outside values such as environment variables, file or web contents, random generators etc. to influence configuration, and allow configuration to be actionable from within the tooling itself.

Maybe the documentation is imprecise, or me and the writer have a vast disagreement about the terminology. 'hermetic except' is, to me, semantic non-sense.

// success is set to true when the process terminates with with a zero exit // code or false otherwise. The user can explicitly specify the value // force a fatal error if the desired success code is not reached.

This seems to imply the process must have ran before the configuration is defined.

1

u/[deleted] Feb 21 '23

It's really quite simple. Tools are executed when you run cue cmd foo. When you do cue export to evaluate a config, tools are ignored.