July 24, 2009
"Daniel Keep" <daniel.keep.lists@gmail.com> wrote in message news:h4br9n$1rje$1@digitalmars.com...
>
>
> 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!

Speaking of that, has my top-level post about that (Subject: "DIP4: Properties") shown up for anyone? I first posted it about 12:30am (my time, 4.5 hours ago), than again between 1 and 2, and again just now, and none of them are showing up for me. I know there can be a delay, but I've never had more than a few seconds of delay on here before for a top-level or for a reply.


July 24, 2009
"Nick Sabalausky" <a@a.a> wrote in message news:h4bt95$1uul$1@digitalmars.com...
> "Daniel Keep" <daniel.keep.lists@gmail.com> wrote in message news:h4br9n$1rje$1@digitalmars.com...
>>
>>
>> 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!
>
> Speaking of that, has my top-level post about that (Subject: "DIP4: Properties") shown up for anyone? I first posted it about 12:30am (my time, 4.5 hours ago), than again between 1 and 2, and again just now, and none of them are showing up for me. I know there can be a delay, but I've never had more than a few seconds of delay on here before for a top-level or for a reply.

My stuff seems to still be showing up fine in this thread...


July 24, 2009
Jarrett Billingsley wrote:

> You're suggesting adding something like 25 operator overloads to every property.  Can you say "code bloat"?

It may not be necessary in simple situations where the compiler can figure out that it may use a more direct way. But I believe it is the right way to go if you want more speed out of your properties, yes.

> Why not just use the following solution, which has been proposed God-knows-how-many-times and already has precedence in other languages (like C#)?
> 
> obj.prop op= value;
> 
> Simply becomes:
> 
> obj.prop.set(obj.prop.get op value);

There are several issues with that suggestion:

* It works only if (a op= b) always behaves the same as (a = a op b).

* It would only work for op= operators. It can't do anything for arbitrary mutator methods on the type of the property.

* In most situations, it will still be as slow as my suggested 'slow way', without any extra operator overloads! I will repeat my 'slow' transformation here again:

obj.prop op= value;
// auto temp = obj.prop.get();
// temp op= value;
// obj.prop.set(value);

At least with that you don't have those first two issues.

-- 
Michiel Helvensteijn

July 24, 2009
Nick Sabalausky wrote:
> "Daniel Keep" <daniel.keep.lists@gmail.com> wrote in message news:h4br9n$1rje$1@digitalmars.com...
>>
>> 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!
> 
> Speaking of that, has my top-level post about that (Subject: "DIP4: Properties") shown up for anyone? I first posted it about 12:30am (my time, 4.5 hours ago), than again between 1 and 2, and again just now, and none of them are showing up for me. I know there can be a delay, but I've never had more than a few seconds of delay on here before for a top-level or for a reply. 
> 
> 


I can see three posts by you in the DIP4 thread.

-Lars
July 24, 2009
Lutger wrote:
> It's interesting why unittest (and assert) are such big success. My idea is that it's not in spite of, but because of their utter simplicity. I speculate that if it would have been different, for example if you would had to create a new file for a unittest, it would not have been used so much.

I tend to agree. I've found over and over, that if you drive things down to their simplest essence, they'll get wide adoption. If someone needs to read a manual with long lists of options, they'll pass it by.

For instance, look at the installer thing. I think that downloading a zip file, and unzipping it, is so trivial. Yet this seems to be a blocker for people using D, over and over I hear about how hard it is to install. I find this baffling. But yet, it's obviously an issue.
July 24, 2009
"Lars T. Kyllingstad" <public@kyllingen.NOSPAMnet> wrote in message news:h4bua5$20bd$1@digitalmars.com...
> Nick Sabalausky wrote:
>> "Daniel Keep" <daniel.keep.lists@gmail.com> wrote in message news:h4br9n$1rje$1@digitalmars.com...
>>>
>>> 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!
>>
>> Speaking of that, has my top-level post about that (Subject: "DIP4: Properties") shown up for anyone? I first posted it about 12:30am (my time, 4.5 hours ago), than again between 1 and 2, and again just now, and none of them are showing up for me. I know there can be a delay, but I've never had more than a few seconds of delay on here before for a top-level or for a reply.
>
> I can see three posts by you in the DIP4 thread.
>

Strange, I still can't see the thread at all, and I've never had trouble seeing my own posts (even in this thread).

I'm at least relieved that it apperently isn't three separate DIP4 threads :)

Is there a post by anyone other than me in that thread? If not, maybe that would get my reader to finally wake up.


July 24, 2009
Nick Sabalausky wrote:
> "Lars T. Kyllingstad" <public@kyllingen.NOSPAMnet> wrote in message news:h4bua5$20bd$1@digitalmars.com...
>> Nick Sabalausky wrote:
>>> "Daniel Keep" <daniel.keep.lists@gmail.com> wrote in message news:h4br9n$1rje$1@digitalmars.com...
>>>> 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!
>>> Speaking of that, has my top-level post about that (Subject: "DIP4: Properties") shown up for anyone? I first posted it about 12:30am (my time, 4.5 hours ago), than again between 1 and 2, and again just now, and none of them are showing up for me. I know there can be a delay, but I've never had more than a few seconds of delay on here before for a top-level or for a reply.
>> I can see three posts by you in the DIP4 thread.
>>
> 
> Strange, I still can't see the thread at all, and I've never had trouble seeing my own posts (even in this thread).
> 
> I'm at least relieved that it apperently isn't three separate DIP4 threads :)

Actually, on closer inspection, it turns out there are three separate DIP4 threads. Apparently, Thunderbird was smart enough to group them for me. :)


> Is there a post by anyone other than me in that thread? If not, maybe that would get my reader to finally wake up. 

Yes, Daniel Keep has posted two replies.

PS: Both his and your messages are visible in the web interface.

-Lars
July 24, 2009
On 2009-07-24 03:51:50 -0400, Don <nospam@nospam.com> said:

> Walter Bright wrote:
>> Jarrett Billingsley wrote:
>>> This "D" programming language is great because it obviates make.
>> 
>> 
>> Ok, now about make's ability to switch compilers without having to edit config files?
> 
> I don't do it that way. I can't imagine when you would mix D1 and D2 in a single build.
> Instead, I have a set of trivial scripts to change the symlink for the 'dmd' directory. Nothing else needs to be aware of the compiler version.  From then on, I just use bud.
> 
> I'll be pretty annoyed if the D2 compiler changes its name to DMD2.

My opinion is that the best way forward is to have dmd1, dmd2, and a symlink called dmd to one or the other. That way in a makefile you can explicitly request for one or the other if you want, but you don't have to: you can switch at will.


-- 
Michel Fortin
michel.fortin@michelf.com
http://michelf.com/

July 24, 2009
On Fri, 24 Jul 2009 05:26:39 -0400, Walter Bright <newshound1@digitalmars.com> wrote:

> Lutger wrote:
>> It's interesting why unittest (and assert) are such big success. My idea is that it's not in spite of, but because of their utter simplicity. I speculate that if it would have been different, for example if you would had to create a new file for a unittest, it would not have been used so much.
>
> I tend to agree. I've found over and over, that if you drive things down to their simplest essence, they'll get wide adoption. If someone needs to read a manual with long lists of options, they'll pass it by.
>
> For instance, look at the installer thing. I think that downloading a zip file, and unzipping it, is so trivial. Yet this seems to be a blocker for people using D, over and over I hear about how hard it is to install. I find this baffling. But yet, it's obviously an issue.

Downloading, unzipping (where?), setting up your path, marking the binary as executable (on *nix).

Much easier to use the OS's installer and let the package tell me how to set it up.

Getting the files and expanding them isn't the difficult part :)

-Steve
July 24, 2009
It is said that "Character decided fate" .
W.B's character decided the fate of watcom C, and now the fate of D.
Just as it is said in the homepage, D is the code for nerds ,not the code for thinkers as LISP, nor the code for creators as C,nor the code for users like perl.
Sorry to say so.