D2 status interim report ?

Dan murpsoft at hotmail.com
Thu Jun 26 18:09:05 PDT 2008


Koroskin Denis Wrote:

> On Mon, 23 Jun 2008 10:02:39 +0400, Extrawurst <spam at extrawurst.org> wrote:
> 
> > Walter Bright schrieb:
> >> Extrawurst wrote:
> >>> Hey Walter,
> >>> this is just a list of changes which were originally planned to be  
> >>> integrated into D2.0 according to the slides you and Andrei presented  
> >>> on DConference '07. So please give us a comment on what perhaps has  
> >>> changed or when certain things are going to be addressed.
> >>> A little insight on your roadmap would be great.
> >>>
> >>> (1) STRUCT opImplicitCastTo/From (p.21)
> >>> ---------------------------------
> >>> How do you want to solve the problem of overloading by return value  
> >>> which would be necessary to solve something like the example in the  
> >>> slides (p.21):
> >>>
> >>>    struct S{
> >>>        int opImplicitCastTo(){...}
> >>>        float opImplicitCastTo(){...}
> >>>    }
> >>
> >> Still planning on it.
> >
> > So does it mean we gonna get overloading on different return types ?
> 
> There was a suggestion to change a signature to something like this:
> struct S {
> 	void opImplicitCastTo(ref float result) { ... }
> 	void opImplicitCastTo(ref int result) { ... }
> }
> 
> bacause overload on return value is basically unacceptable.

Yes, and the lack of orthogonality of the old/current system is annoying at best.  The source code for Walnut was roughly 15% larger because of this.

I abandoned the project mostly because the code that I thought was being generated was so vastly different from the code that was being generated.

For example, passing a 16-byte struct was being done by rep movsd'ing the arguments while I was programming it envisioning xmm register usage for "arguments" and closure-like behavior for "self" and "context".

I started reworking the whole project in fasm so I could write exactly what I thought, but then abandoned the scripting engine altogether to the next project about the time I finished writing the lexer because I became disinterested.



More information about the Digitalmars-d mailing list