On Wednesday, 24 June 2015 at 20:19:49 UTC, Marc Schütz wrote:
On Wednesday, 24 June 2015 at 14:01:32 UTC, Wyatt wrote:
I don't think I'd interpret these two names as having the same functionality in the first place. I'd probably learn their equivalence completely by accident and only remember it by rote.

Interesting. But once you know that, it's easy to tell which is which, no?

Is it, though? I mean I _guess_ setExtension() sounds more eager? Familiarity removes my ability to make a first-time judgement.

But by the time I've learned of their equivalence and that one is lazy and the other is not, the API has already "lost" as far as I'm concerned. Maybe this can be mitigated with really good docs that lists paired functions together so it's at least easy to find them.

Or here's a thought: Since we apparently want to minimise/kill eagerness, can we detect usage of eager functions and catch/flag them? Similar in ideal to Adam's (brilliant) wrapper thing, but with tooling. A @lazy attribute (analogous to @nogc), or a switch, or dfix rules, or something. I don't know.

-Wyatt

Reply via email to