Why is there no named parameter support?

Jonathan M Davis via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 8 22:58:10 PDT 2015


On Tuesday, June 09, 2015 01:38:56 Timothee Cour via Digitalmars-d-learn wrote:
> On Mon, Jun 8, 2015 at 11:32 PM, Jonathan M Davis via Digitalmars-d-learn <
> digitalmars-d-learn at puremagic.com> wrote:
>
> > On Monday, June 08, 2015 23:18:50 Timothee Cour via Digitalmars-d-learn
> > wrote:
> > > nim has both overloading and named arguments (with reordering and
> > defaults
> > > allowed): http://nim-lang.org/docs/tut1.html#procedures-named-arguments
> > > and it doesn't seem to cause issues.
> > >
> > > Is there a document / thread that explains the argument against named
> > > arguments in more details than 'do not play well together' ?
> >
> > Probably not, but Walter was quite adamant when it was discussed at dconf
> > that it's a disaster to mix named arguments and function overloading in the
> > same language. Maybe it's not as bad as he thinks it is, but personally, I
> > think that named arguments are a terrible idea in general, so I'm not about
> > to try and support a position that tries to bring them into D.
> >
> > - Jonathan M Davis
> >
> >
> I'd be very interested in reading more about those reasons beyond FUD.
> The arguments in favor have been repeated many times over, and the only
> argument against that I've heard ('overloading and named arguments do not
> play well together') doesn't seem valid, given the precedent in nim.

Then talk with Walter about it. Whether he's right or not is up for debate,
but it's certainly not FUD. He gave good examples, but I don't remember what
they were at this point.

Personally, I hate how named arguments affect the API (e.g. the names of the
parameters suddenly become part of the API), and for the most part, the only
times that they're worth much is when you have so many function parameters
that you should be creating structs to hold those values anyway. I don't
want them in the language, and I'm very glad that Walter is against them, so
I didn't feel the need to try and remember all he said about why they were a
bad idea.

- Jonathan M Davis



More information about the Digitalmars-d-learn mailing list