On Wed, 20 Apr 2011 02:43:50 +0300, bearophile <[email protected]>
wrote:
I agree. In my opinion the problem is not you using in your module a
language feature designed for that very purpose. What's in question is
the syntax of that language feature. I don't mind lazy arguments, but it
can be argued that's better for them to require a "lazy" prefix at the
calling point too. This little syntax problem that was already raised
during the D2 design phase.
I would like to clarify my point:
Inarguably (IMO), the original intention of lazy parameters was to allow
passing expressions to functions that were evaluated only when required.
David's library evaluates these expressions *in different threads*!
Generally, I would count that any usage of "lazy" counts as abuse except
for evaluating the argument, at most once, during the function's execution.
--
Best regards,
Vladimir mailto:[email protected]