Will D ever get optional named parameters?
bachmeier via Digitalmars-d
digitalmars-d at puremagic.com
Mon Oct 13 12:55:43 PDT 2014
On Monday, 13 October 2014 at 08:29:42 UTC, 岩倉 澪 wrote:
> From what I've found, there was some work on this in the past
> (http://forum.dlang.org/thread/wokfqqbexazcguffwiif@forum.dlang.org?page=6#post-thclpgdlfxxhhfklwsoj:40forum.dlang.org),
> but a pull request was never made/I don't seem to find
> discussion about adding it as a feature anywhere.
>
> I think optional named parameters would be a nice addition,
> either to the core language, or something like the monadic
> solution from that old thread in phobos.
>
> Are there good reasons not to add something like this to the
> language, or is it simply a matter of doing the work? Has it
> been discussed much?
My limited Scala experience from several years ago suggests this
is not something worth doing. The names of parameters are part of
the API. Suppose you have a method like
def foo(x: int = 1000, y: double = 0.0): double {}
If you later change the names to something more informative
def foo(reps: int = 1000, variance: double = 0.0): double {}
you've potentially broken existing code. Maybe there are better
approaches than that of Scala, but doing anything like that to D
would be a huge mistake for little gain. (I write a lot of R
code, for which named parameters are the norm, so I understand
the convenience.)
More information about the Digitalmars-d
mailing list