Migrating dmd to D?

Daniel Murphy yebblies at nospamgmail.com
Tue Apr 2 06:34:56 PDT 2013


"Zach the Mystic" <reachzach at gggggmail.com> wrote in message 
news:rgotiizywwfzkzrdqwkf at forum.dlang.org...
> On Tuesday, 2 April 2013 at 01:09:59 UTC, Nick B wrote:
>> On Sunday, 31 March 2013 at 23:48:31 UTC, Zach the Mystic wrote:
>>> On Sunday, 31 March 2013 at 18:31:33 UTC, Suliman wrote:
>>>> So, what the final decision about porting D to D?
>>>
>>> It's not a "final decision", but Daniel Murphy/yebblies has already made 
>>> so much progress with his automatic conversion program, 
>>> https://github.com/yebblies/magicport2 that I feel like he carries the 
>>> torch right now. Please refer to this discussion:
>>> http://forum.dlang.org/thread/kgn24n$5u8$1@digitalmars.com#post-kgumek:242tp4:241:40digitalmars.com
>>>
>>> Basically:
>>> 1) Daniel seems to have this project under control, and he's way ahead 
>>> of anyone else on it.
>>> 2) The current hurdle is the glue layer.
>>> 3) The project is mostly being kept private, presumably because he wants 
>>> to come out with a finished product.
>>> 4) All I know is, my gut says YES!
>>
>> Question. Does this imply that once Daniel has finished this task, the 
>> code will be frozen and a new major release i.e. D 3.0 announced ?
>>
>> Nick
>
> I'm no expert on that, but I seriously doubt it. D2 is the flagship and 
> will be for a long time, so far as I understand it. Also, Daniel's is an 
> automatic dmd C++ to D conversion program, designed precisely so that the 
> C++ will not need to be frozen, allowing a period where there are both C++ 
> and D frontends. And a new frontend doesn't mean a new language. A "D 3.0" 
> would imply additions and modifications to the language, whereas the topic 
> of this post is changing the compiler.
>

This is what I'm hoping for.  An automatic converter means we never have to 
freeze development, and the pull requests are never invalidated.  We can 
even automatically convert the pull requests to D by applying, converting, 
and diffing.

Because it is automatically kept up to date, the D version and the C++ 
version can coexist with minimal disruption while the D version is 
perfected.  At some point we abandon the C++ version and switch all 
development to the D version.  I would guess it will be several months of 
having both until we reach this kind of trust in the D version.

Right now I'm up to 'get glue layer working' which needs 'allow C++ static 
variables, member variables, static functions etc' which (for me) needs 
'move win32 C++ mangling into the frontend' which needs 'more free time'. 
If anyone wants to have a go the plan is to just copy what the linux version 
does. (cppmangle.c)

> At the same time, perhaps the fact that the leaders have decided now would 
> be a good time to convert the frontend means the language is reaching an 
> important point in its maturity. Still, there's so much known work to do, 
> plus actually extremely fertile ground for new possibilities within D2, 
> that D3 is probably considered both unnecessary and a bit of a distraction 
> at this time. And yet major versions do exist, and there must be some 
> reason they advance, and to have a frontend written in its own language is 
> in some way a milestone, so maybe you're right!

Yeah, D3 is not on the table and may never be.  There is no reason we need 
to change the numbering when switching to D. 




More information about the Digitalmars-d mailing list