Safe navigation operator

Jeyvison Nascimento jeynoronha at
Thu Jan 17 12:56:00 UTC 2019

Hi Brian :)

Yes, of course it has been discussed before — many, many times.
> As a language feature, it clears the already-high bar of “not a dumb
> idea.”  (You’d be surprised at what percentage of proposed features do not
> clear this bar.)  So, I hear you ask, then why haven’t we done it already?
> Because even the not-dumb ideas have to clear a much higher bar to get into
> the language.  And there are many reasons why we might not, even though
> other languages have demonstrated that it is a workable and arguably useful
> feature.

Glad it wasn't sometinhg dumb , although i always get a little worried
about what one defines as dumbness ^^

> (If you are under the impression that this is a “small tweak”, please
> delete that notion from your head now :)

That wasn't exactly what i was thinking but i realized that it could
involve more than i could know.

> One reason why I would not consider this feature at this point is that it
> is useless if the type of the field being referenced is a primitive; in
> order to make this feature not do something silly at this point, we’d need
> nullable primitives types (`int?`).  C# went this way, and its a valid way,
> but it’s not a small tweak.
hmmm, actually primitives wouldn't be the problem , i imagine. It would be
applied only to objects. But i get your point about the diferent scenarios
that we would have to think about.

> I think  your main argument is “a lot of people like it.”  Which is true.
> Which is to say, it has a benefit.  But we cannot possibly do every feature
> that has a nonzero benefit; even if the costs were zero (which they are
> not), the complexity of the language would explode.  So we have to make
> these decisions on the basis of evaluating whether a given feature offers
> us the best return on effort, cost, and complexity.
> I think this is an OK feature, but I would rather spend my budget on
> pattern matching, records, value types, and specialized generics.
Totally understand this. If there are priorities, they should be addressed
first. :)

It helped a lot :) Thank you all for your Answers.

A last question: Is amber open to community help on development? I mean, i
random guy like me could help on talk about and develop new features?

Jeyvison Nascimento

More information about the amber-dev mailing list