[phobos] phobos commit, revision 1689

Steve Schveighoffer schveiguy at yahoo.com
Fri Jun 25 06:24:15 PDT 2010


In fact, save should not be implemented unless it looks like this:

T save() { return this; }

So it's pretty much a property.  If you implement save on ranges where the operation will be costly, you are looking for trouble with algorithms that require save.

This is why I don't really like the concept of save.

-Steve



----- Original Message ----
> From: Lars Tandle Kyllingstad <lars at kyllingen.net>
> To: Discuss the phobos library for D <phobos at puremagic.com>
> Sent: Fri, June 25, 2010 2:44:51 AM
> Subject: Re: [phobos] phobos commit, revision 1689
> 
> Well said.  This is the rule I am using as 
> well.

-Lars



On Thu, 2010-06-24 at 11:49 -0700, Sean Kelly 
> wrote:
> All a matter of opinion, but I'd say that @property should only 
> be applied to logical properties of the data structure (go figure).  A 
> clone method (ie. save) doesn't represent an attribute of the data, it's simply 
> a non-mutating operation on the data.  An easy litmus test is whether the 
> member could be replaced with a public variable.  If so, it's probably a 
> property.  This is the real purpose of the no-parens syntax anyway--it 
> allows the class designer to replace public data members with functions at no 
> cost to the end user.
> 
> On Jun 23, 2010, at 7:45 AM, Andrei 
> Alexandrescu wrote:
> 
> > I think it should be a property. I 
> followed the convention that stuff that doesn't change "this" is a 
> property.
> > 
> > Andrei
> > 
> > On 
> 06/23/2010 09:01 AM, David Simcha wrote:
> >> Isn't that the point 
> of @property?  I just followed what Andrei was
> >> 
> doing.  If there's anywhere where I didn't put @property in, it's 
> purely
> >> an unintentional oversight.  Please let me know 
> and/or fix it.
> >> 
> >> On Wed, Jun 23, 2010 at 9:34 
> AM, Max Samukha <
> href="mailto:maxsamukha at gmail.com">maxsamukha at gmail.com
> >> 
> <mailto:
> href="mailto:maxsamukha at gmail.com">maxsamukha at gmail.com>> 
> wrote:
> >> 
> >> 
> >> 
> 
> >>    On Wed, Jun 23, 2010 at 4:07 PM, 
> href="http://dsource.org">dsource.org <http://dsource.org>
> 
> >>    <
> href="mailto:noreply at dsource.org">noreply at dsource.org <mailto:
> ymailto="mailto:noreply at dsource.org" 
> href="mailto:noreply at dsource.org">noreply at dsource.org>> wrote:
> 
> >> 
> >>        phobos commit, revision 
> 1689
> >> 
> >> 
> >>      
>   user: dsimcha
> >> 
> >> 
> >>  
>   save() is sometimes attributed with @property, other times it is
> 
> >>    not. Is it really a property? I don't think it is a good 
> idea to tag
> >>    every function with @property just to 
> make it callable without ().
> >> 
> >>    
> _______________________________________________
> >>    
> phobos mailing list
> >>    
> ymailto="mailto:phobos at puremagic.com" 
> href="mailto:phobos at puremagic.com">phobos at puremagic.com <mailto:
> ymailto="mailto:phobos at puremagic.com" 
> href="mailto:phobos at puremagic.com">phobos at puremagic.com>
> 
> >>    http://lists.puremagic.com/mailman/listinfo/phobos
> 
> >> 
> >> 
> >> 
> >> 
> >> 
> _______________________________________________
> >> phobos mailing 
> list
> >> 
> href="mailto:phobos at puremagic.com">phobos at puremagic.com
> >> 
> href="http://lists.puremagic.com/mailman/listinfo/phobos" target=_blank 
> >http://lists.puremagic.com/mailman/listinfo/phobos
> > 
> _______________________________________________
> > phobos mailing 
> list
> > 
> href="mailto:phobos at puremagic.com">phobos at puremagic.com
> > 
> href="http://lists.puremagic.com/mailman/listinfo/phobos" target=_blank 
> >http://lists.puremagic.com/mailman/listinfo/phobos
> 
> 
> _______________________________________________
> phobos mailing 
> list
> 
> href="mailto:phobos at puremagic.com">phobos at puremagic.com
> 
> href="http://lists.puremagic.com/mailman/listinfo/phobos" target=_blank 
> >http://lists.puremagic.com/mailman/listinfo/phobos


_______________________________________________
phobos 
> mailing list

> href="mailto:phobos at puremagic.com">phobos at puremagic.com

> href="http://lists.puremagic.com/mailman/listinfo/phobos" target=_blank 
> >http://lists.puremagic.com/mailman/listinfo/phobos


      


More information about the phobos mailing list