On 26/06/15 17:46, Dicebot wrote:
Totally. Remember - this is effectively will make specific API a language standard which will propagate it to all sort of 3d party libraries.
I don't mind :)
I find it unacceptably unreadable and verbose, to the point it will make working with those libraries considerably harder. I use `test!"=="(a. b)` which is: - short - robust (supports any binary operator D has) - straight to the point (it is about testing, not about what program should/must do)
I would say that using strings as template parameters for everything in D is really ugly and a sign of abuse. Soon all D code will be contained in a single string literal passed to some function.
The fact that examples uncourage UFCS abuse makes it even worse. Something that looks like this: `2.timesTwo.shouldEqual(4)` .. gets immediately marked as garbage in my book.
So what do you UFCS should be used for, only for arrays/ranges?
There are also things like `shouldBeFalse` and `shouldBeTrue`. I couldn't imagine anyone seriously using names like that until I have examined that proposal.
You need to try Ruby ;) -- /Jacob Carlborg