On Sunday, June 15, 2014 9:33:32 PM UTC-4, Jacob Quinn wrote:
>
> Yeah, I feel kind of torn on this on.
>
> On the one hand, I've kind of grown used to the `is...` method naming
> convention and it has nice discoverability properties (tab-completion) and
> isn't generally too awkward (though double s's are sometimes weird
> `issubset` `issubtype`, and it took me a while to figure out isa() => is a).
>
> The syntax-hungry beast in me though loves the handiness of adding a `?`
> to boolean methods. At this point, it's probably not worth the change, and
> my main concern would be combining it with the ternary operator:
>
> result = good?(x) ? good : bad
>
> The double `?` would probably get real old real fast.
>
As a long time Rubyist, I concur that the double `?` from ternary operator
has always been a little annoying. On the other hand the readability of
`?`-suffixed predicate methods has easily outweighed the downside of this
one usage. And in Julia at least you have a `()` in between. In Ruby you
don't even have that. Valid Ruby:
result = good? ? good : bad
The Julia equivalent of
result = good?() ? good : bad
isn't so bad.
And if I might add a small aside, ternary as an honest to god function:
result = ?(good?(), good, bad)