D affects others
w0rp via Digitalmars-d
digitalmars-d at puremagic.com
Wed May 28 15:06:39 PDT 2014
On Wednesday, 28 May 2014 at 18:08:42 UTC, Walter Bright wrote:
> On 5/28/2014 1:49 AM, Russel Winder via Digitalmars-d wrote:
>> Also, D's approach does not support lazy evaluation, caches of
>> all sorts
>> etc, that we think are crucial in application software.
>
> Yes, that's so-called "logical const". This has come up several
> times here, and many have argued strongly to support it.
>
> My view is that logical const is not mechanically checkable,
> and therefore is a convention. D's const'ness is about
> guarantees, not conventions.
>
> Of course, D offers an escape from anything. You can do logical
> constness by using unsafe casts, but the onus is then on you to
> get it right.
I'm a big fan of D's const, and strong static checking is one of
the reasons I picked up D a while ago. I think putting a little
violation of the type system to accomplish something you really,
really need, say in a @trusted function, is a good way to do
things. Most of the time, you don't *really* need to do those
things.
More information about the Digitalmars-d
mailing list