On 7 February 2013 23:09, Rodrigo Rosenfeld Rosas wrote:
> Enums have two goals in such languages. Improving performance and
> reducing memory footprint is one of them. The other one is to help the
> compiler to find errors at compile time by restricting the input type in
> some functions/methods and variables. I don't really understand how this
> is relevant to this discussion.

No, no no no. Enums exist because they are identifiers.  They are symbolic
representations of a concept that either does not necessarily otherwise
exist in the code, or does not have to be fully instantiated in order to
discuss it.  That is exactly what Symbols are.


> They don't spend their time thinking about whether they should be using
> symbols or strings. They don't WANT to worry about it!

Your overarching goal is to coddle developers who write code without
understanding either the language, or the concepts behind their own code.
There is a massive philosophical disjunct here between you and I, and I
think it will never be overcome.


> I agree it is unlike to happen. What about another syntax: {{a: 1}} =>
> {'a' => 1}? Maybe it would worth trying to ask for some syntax change
> like this one. We could even add interpolation to it:
> {{"value #{computed}": 1}}.

You'd probably be more likely to succeed with a new %string-style notation,
like %h{a:1, b:2}.  Although then again, possibly not.