August 13, 2008
Reply to Dee,

> Ary Borenszweig Wrote:
> 
>> Dee Girl a écrit :
>> ...
>> I really like the way you write English, in short sentences which are
>> very clear. Were you from Japan? I can't remember. Are you thinking
>> in japanese and translating to English? Is japanese spoken like that?
>> Or is it just you?
>> 
>> I would have sent this mail to you privately, but you don't show your
>> email here.
>> 
>> (sorry, I like languages)
>> 
> Hello Ary! Thank you for asking. I was raised in Tokyo. Now I am a
> student in USA. Very different! Home teacher tells you what to do.
> Here teacher lets you very free. I can take what class I want. Some
> time I work on any project I want and get good grade to. In Japan I
> would be ashamed. America is very free country. Best for programmers I
> think ^_^
> 
> I write longer sentences in Japanese. I try to keep short in English
> and put one sense in a sentence. I never know where to put comma and
> articles are all in strange places. So I apply KISS ^_^ Thank you, Dee
> Girl
> 

Sometimes I wish more people (my self included) did that.

One mark of an expert in a language is someone who can say something that takes you 10 minuets to figure out is even correct and another 10 minutes to understand. A better grasp of a language does /not/ automatically make you easier to understand.
<g>
http://www.ioccc.org/


August 13, 2008
Dee Girl wrote:
> Ary Borenszweig Wrote:
> 
>> Dee Girl a écrit :
>> ...
>>
>> I really like the way you write English, in short sentences which are very clear. Were you from Japan? I can't remember. Are you thinking in japanese and translating to English? Is japanese spoken like that? Or is it just you?
>>
>> I would have sent this mail to you privately, but you don't show your email here.
>>
>> (sorry, I like languages)
> 
> Hello Ary! Thank you for asking. I was raised in Tokyo. Now I am a student in USA. Very different! Home teacher tells you what to do. Here teacher lets you very free. I can take what class I want. Some time I work on any project I want and get good grade to. In Japan I would be ashamed. America is very free country. Best for programmers I think ^_^
> 
> I write longer sentences in Japanese. I try to keep short in English and put one sense in a sentence. I never know where to put comma and articles are all in strange places. So I apply KISS ^_^ Thank you, Dee Girl

I end up working with a lot of ESL people, and I wish more of them had your wisdom to keep their English within levels of complexity they are comfortable with.  True, there are a few grammar errors ever here and there in your text.  In the long run it's still readable and you can still understand what you're saying (which is different from what is said due to the brain's ability to heuristically imply meaning).



August 13, 2008
Dee Girl wrote:
> Walter Bright Wrote:
> 
>> Dee Girl wrote:
>>> I do not know exact how he meant. But I tell how I think it can
>>> be. This is how I implement in my project (simplified because I
>>> have negative offset).
>> I think it would be most helpful if you could turn this posting
>> into an article.
> 
> Hello Walter! Thank you very much for your attention. But my English
> is bad. And takes me a long time to write post. So an article should
> take a very long time! ^_^ But if you or some body want to write an
> article, I help. Thank you, Dee Girl

Your english is plenty good enough, and besides, there are a lot of people who'd be willing to help you with editing the grammar. But the tech ideas are yours and you should get the credit by writing about it. You've already done the hard work :-)
August 14, 2008
Walter Bright Wrote:

> Dee Girl wrote:
> > Walter Bright Wrote:
> > 
> >> Dee Girl wrote:
> >>> I do not know exact how he meant. But I tell how I think it can be. This is how I implement in my project (simplified because I have negative offset).
> >> I think it would be most helpful if you could turn this posting into an article.
> > 
> > Hello Walter! Thank you very much for your attention. But my English is bad. And takes me a long time to write post. So an article should take a very long time! ^_^ But if you or some body want to write an article, I help. Thank you, Dee Girl
> 
> Your english is plenty good enough, and besides, there are a lot of people who'd be willing to help you with editing the grammar. But the tech ideas are yours and you should get the credit by writing about it. You've already done the hard work :-)

I email Andrei. He said he can help me! But he said he has same idea earlier ^_^. I think he is right. The idea is standard. He also said a introspection does not work now. You and him can discuss. Thank you both very much for every thing, Dee Girl
August 14, 2008
superdan Wrote:

> cool work dee as always. yeah it's what i meant... i guess eh.
> 
> one nit. you should make all thunk functions in Base2Hook final because nobody will inherit Base2Hook. then the thunks are straight calls and can be inlined.

You are right. I think, you found bug in my code! Do not tell any body ^_^ Thank you, Dee Girl

August 14, 2008
I guess D will never support MI.
Beside Mixins and Interfaces, you have the option to implement the (not very well known) twin pattern to simulate multiple inheritance.

Google for:
Twin – A Design Pattern for Modeling Multiple Inheritance

Page 4-6 , for the impatient.

/I don't use this pattern 'cause it produces too much overhead, and it does't solve all the problems  /

Bjoern
ps
I do not belong to the "MI is eval" group. ... probabely more to the "MI in C++ is eval folks".
I think  Eiffel shows that at lesat some MI related problems can be solved.
August 14, 2008
BLS wrote:
> I guess D will never support MI.
> Beside Mixins and Interfaces, you have the option to implement the (not
> very well known) twin pattern to simulate multiple inheritance.
> 
> Google for:
> Twin – A Design Pattern for Modeling Multiple Inheritance
> 
> Page 4-6 , for the impatient.
> 
> /I don't use this pattern 'cause it produces too much overhead, and it does't solve all the problems  /
> 
> Bjoern
> ps
> I do not belong to the "MI is eval" group. ... probabely more to the "MI
> in C++ is eval folks".
> I think  Eiffel shows that at lesat some MI related problems can be solved.

I don't think it's evil, but I acknowledge that a sufficiently advanced idiot can abuse it to the point of making a code base un-salvageable. Then again, there are a ton of useful tools that can be quite entertaining in the hands of a sufficiently curious idiot ("what's this nailgun do?")



August 14, 2008
Chris R. Miller schrieb:
> BLS wrote:
>> I guess D will never support MI.
>> Beside Mixins and Interfaces, you have the option to implement the (not
>> very well known) twin pattern to simulate multiple inheritance.
>>
>> Google for:
>> Twin – A Design Pattern for Modeling Multiple Inheritance
>>
>> Page 4-6 , for the impatient.
>>
>> /I don't use this pattern 'cause it produces too much overhead, and it
>> does't solve all the problems  /
>>
>> Bjoern
>> ps
>> I do not belong to the "MI is eval" group. ... probabely more to the "MI
>> in C++ is eval folks".
>> I think  Eiffel shows that at lesat some MI related problems can be solved.
> 
> I don't think it's evil, but I acknowledge that a sufficiently advanced
> idiot can abuse it to the point of making a code base un-salvageable.
> Then again, there are a ton of useful tools that can be quite
> entertaining in the hands of a sufficiently curious idiot ("what's this
> nailgun do?")
> 
LOL. Yeah, like home improvement. When in doubt take a hammer.(and let's see what happens...) Bjoern
August 14, 2008
superdan wrote:

> and you also have to allow for holes in objects

Then it isn't fixed layout alone, but also avoiding slices of unused memory within objects. If you advocate for this under the reason, that this scheme allows for efficient access for members by sparing one indirection, then: why do you accept interfaces?

Given that the layout of objects is fixed and without unused slices, interfaces must be able to adapt to the layouts of many different object types. This cannot be done without a mapping known at runtime and therefore has to stay with the object, which in turn would enable MI.

-manfred


-- 
Maybe some knowledge of some types of disagreeing and their relation can turn out to be useful: http://blog.createdebate.com/2008/04/07/writing-strong-arguments/
August 14, 2008
superdan wrote:

> no idea why walt chose to disallow that.

It may cause some problems:

interface Customer
{
    string ssn();
    string name();
    string uniqueName() { return name ~ "(ssn: " ~ ssn ~ ")"; }
}

interface SpecialCustomer
{
    string ssn();
    string name();
    string uniqueName() { return name ~ "!!!!!(ssn: " ~ ssn ~ ")"; }
}

class D: Costumer, SpecialCostumer{ string ssn="", name="";}



1) What is the result of `(new D).uniqueName'  ?
2) Is the locality of code controlable?
3) ...

-manfred
-- 
Maybe some knowledge of some types of disagreeing and their relation can turn out to be useful: http://blog.createdebate.com/2008/04/07/writing-strong-arguments/