Reddit: why aren't people using D?
Daniel Keep
daniel.keep.lists at gmail.com
Fri Jul 24 01:31:05 PDT 2009
Walter Bright wrote:
> Daniel Keep wrote:
>> That's true, but you haven't addressed the other side of it: property
>> setters.
>
> Right. Consider the case where there's a pure function with no
> arguments, and an overload with the same name and one argument, and no
> other overloads. Wouldn't it be reasonable to take that as a property
> setter?
>
>> With D, you would need to explicitly state which methods are properties
>> manually somehow; dunno how you would, though. Especially when you
>> consider subclassing and mixins.
>
> See my rule above - I think it'll work.
Actually, I've now come up with a counter-example for the idea of using
pure at all:
class Lazy(T)
{
private
{
T v;
T delegate() dg;
}
this(T delegate() dg) { this.dg = dg; }
T value()
{
if( dg !is null )
{
v = dg();
dg = null;
}
return v;
}
}
You can't make value pure, but it is supposed to be a property. One of
the examples Nick gives in DIP4 is a property that accesses an SQL
database; there's no way to make that pure!
More information about the Digitalmars-d
mailing list