Proposal: we make NimScript support the important features from cfg syntax and 
let cfg die together with `@if` and friends. This way, those who want to use 
old-school declarative syntax for simple cases can do so in a nims script:

  * Assignment to qualified config options like `clang.cpp.options.linker` just 
needs a corresponding object type hierarchy. The roots I know of are 
architecture (arm, mips etc.) and compiler (gcc, clang etc.).
  * `hint[LineTooLong]=off` just sets components of an array indexed by enums
  * `assertions:off` becomes a statement macro call



This way, option keys don't have to be strings, too. Why is there even a 
separate cfg parser, I thought DSLs like this is what meta-programming is for? 
:o)

Reply via email to