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]

Reply via email to