Eliminate assert and lazy from D?
Vladimir Panteleev
thecybershadow at gmail.com
Tue Oct 13 10:15:06 PDT 2009
On Tue, 13 Oct 2009 07:33:57 +0300, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> Right now, the language has enough power to express assert as a library
> function, as opposed to a primitive construct. (See e.g. enforce.) I
> think it would be good to relegate assert to object.d.
>
> This also brings up "lazy", which seems to be quite botched. Are there
> suggestions on how to replicate its functionality in a different way? I
> even seem to recall lazy was discussed as a disadvantage in the recent
> dialog on reddit, see
>
> http://www.reddit.com/r/programming/comments/9qf8i/i_wrote_some_d_today_and_its_completely_blowing/
>
> I personally believe it's useful to be able to pass an unevaluated
> expression into a function, for example assert and enforce themselves
> use that.
>
> But let's open this for discussion: should assert and/or lazy be
> removed? If not, why not? It yes, why? How can we replicate their
> functionality?
No one seems to have mentioned this, but please don't overlook that when
compiling in release mode, assert (or at least assert(0)) works as a
compiler hint.
--
Best regards,
Vladimir mailto:thecybershadow at gmail.com
More information about the Digitalmars-d
mailing list