On Tue, Jan 17, 2012 at 4:48 AM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
> I hate I must ask this:
>
> int[string] aa;
> foreach (k; aa.byKey) { ... }
>
> or
>
> int[string] aa;
> foreach (k; aa.byKey()) { ... }
>

If it is any help, Scala libraries use by convention that methods that
have a side should be called with '()' while methods that don't have a
side effect should be called without the '()'. In scala this translate
to:

aa.sideEffectWhenCalled()

aa.noSideEffect

which looks as follow in the definition:

def sideEffectWhenCalled() = { ... }

def noSideEffect = { ... }

I think that this translate really well to D's property. Photos can
try to implement the policy that read properties shouldn't have side
effects (externally observable side effect). The language doesn't need
to enforce but it would be nice if Photos would follow it.

Thoughts? Thanks,
-Jose

>
>
> Thanks,
>
> Andrei "I told you" Alexandrescu

Reply via email to