Configs suck? Try a real programming language
This just sounds like solving a problem at the wrong level and making it worse.  If your config is so complicated that it warrants a full-blown language, the logic should go into the <i>main program</i> that reads the config and decides what to do, not left inside config.<p>Having a programmable config is how you end up with horrible interdependencies where function f() does foo, and you can&#x27;t figure out why it&#x27;s not blowing up, until you realize the only caller is dynamically configured in staging_env_4.json which is emitted by config_generator.py which always ensures the precondition for foo, but only if it&#x27;s also generating prod_env.json at the same time, but it&#x27;s OK because we always do that anyway, and you&#x27;re not sure if you need another cup of coffee or whiskey.