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