4 ms·
> But the variables which receive command line overrides should be set apart in some way for that purpose. Like by calling them "config" variables?
by kenko 10y ago
> But the variables which receive command line overrides should be set apart in some way for that purpose.
Like by calling them "config" variables?
- bradcray 10y agokenko is correct that the 'config' keyword is what indicates that a symbol can receive a command-line override in Chapel. As others have suggested, we followed C's lead in interpreting 'const' as "Cannot be re-assigned after initialization" rather than "Value must be known at compile-time." To specify values that must be known at compile-time, Chapel uses the 'param' keyword, where 'config param' symbols can be set on the compiler's command-line (as can 'config type' symbols, used to specify type aliases). 'param's and 'type' symbols tend to lead to compile-time specialization, similar to C++ template variables. That just leaves 'config var' which indicates that a symbol can be set on the execution-time command-line and re-assigned over its lifetime.