Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
--hint[foo], although having a cute syntax, is a non-standard convention that causes inconveniences and un-necessary edge cases:
in cmd line and in shell scripts (eg if in a function in your ~/.bashrc) --hint[source]:on needs to be escaped because [ is special for the shell on posix (and probably also needs escaping, differently, in windows)
case in point: it doesn't work with nimscript:
config.nims:
# Error: invalid command line option: '--hint[source]'
--hint[source]:on
# Error: missing closing ' for character literal
'--hint[source]:on'
# Error: invalid command line option: '--hint[source]'
switch("hint[source]", "on")
# ok, that works, but I had to search quite a bit before I found it; makes it more awkward to go from nim.cfg to config.nims
hint("processing", on)
proposal:
no more new flags with characters that need escaping (eg: [? etc)
--hint[foo]
, although having a cute syntax, is a non-standard convention that causes inconveniences and un-necessary edge cases:--hint[source]:on
needs to be escaped because[
is special for the shell on posix (and probably also needs escaping, differently, in windows)config.nims:
proposal:
[?
etc)--hint.foo:on
as alias for--hint[foo]:on