Re:The Curious Case of Swift's Adoption of Smalltalk Keyword...
by jakear on Monday June 15, 2020 @05:33AM
(#23525484)
It’s really not as complicated as you’re making it out to be. If I’m making a function that has potentially confusing parameters, I make it accept an object. This forces named parameters, and it does so only using core language features.
Yes, there’s no dedicated syntax to allow people to name parameters that weren’t intended to be named. So what?
Re:The Curious Case of Swift's Adoption of Smalltalk Keyword...
by dmitriid on Monday June 15, 2020 @11:36AM
(#23528494)
> It’s really not as complicated as you’re making it out to be.
Of course it's not complicated, it's as simple as I showed.
> If I’m making a function that has potentially confusing parameters, I make it accept an object.
It doesn't really matter what you, a single developer, do, does it?
If I have to work with a third-party library that has "confusing parameters", please enlighten me how I can make its functions "accept an object to force named parameters"?
> there’s no dedicated syntax to allow people to name parameters that weren’t intended to be named. So what?
I've clearly shown what in at least three messages.
Once again: these are workarounds and there are no "functions declared with named parameters" in Javascript. There are functions that accept objects as a parameter, and they employ additional code to work with those objects.
Example:
No matter how much you try, you cannot "use the core thing in the language" to make this function accept this without writing additional code inside the function itself.So if a library gives you `function add(x, y)`, that's what you're stuck with, forever. You cannot pretend that named arguments can be solved by "javascript's core language". It cannot.