October 03, 2008
Alexander Panek wrote:
> bearophile wrote:
>> From:
> 
>>> regarding a common runtime for Phobos and Tango,<
>>
>> Can you give a little summary of this?
> 
> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to hold that common runtime.

I just thought I'd mention that if anyone wants to play with
this, the runtime is fully functional and there are versions
available for both D 1.0 and D 2.0 (in a branch and trunk,
respectively).  Assuming everything works out however, I
expect that only Phobos for D 2.0 will actually use the
common runtime, since D 1.0 is in maintenance mode now.


Sean
October 03, 2008
== Quote from Sean Kelly (sean@invisibleduck.org)'s article
> Alexander Panek wrote:
> > bearophile wrote:
> >> From:
> >
> >>> regarding a common runtime for Phobos and Tango,<
> >>
> >> Can you give a little summary of this?
> >
> > Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to hold that common runtime.
> I just thought I'd mention that if anyone wants to play with this, the runtime is fully functional and there are versions available for both D 1.0 and D 2.0 (in a branch and trunk, respectively).  Assuming everything works out however, I expect that only Phobos for D 2.0 will actually use the common runtime, since D 1.0 is in maintenance mode now. Sean

So what's the status, then, of Tango for D2?  I assume that having Phobos and Tango be able to be used together in D2 is kind of the point of druntime.
October 03, 2008
Sean Kelly wrote:
> Alexander Panek wrote:
>> bearophile wrote:
>>> From:
>>
>>>> regarding a common runtime for Phobos and Tango,<
>>>
>>> Can you give a little summary of this?
>>
>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to hold that common runtime.
> 
> I just thought I'd mention that if anyone wants to play with
> this, the runtime is fully functional and there are versions
> available for both D 1.0 and D 2.0 (in a branch and trunk,
> respectively).  Assuming everything works out however, I
> expect that only Phobos for D 2.0 will actually use the
> common runtime, since D 1.0 is in maintenance mode now.

Ah, good to know. What are the differences between druntime and Tango’s runtime? What about the features Tango has but Phobos doesn’t?
October 03, 2008
dsimcha wrote:
> == Quote from Sean Kelly (sean@invisibleduck.org)'s article
>> Alexander Panek wrote:
>>> bearophile wrote:
>>>> From:
>>>>> regarding a common runtime for Phobos and Tango,<
>>>> Can you give a little summary of this?
>>> Well, there’s a project on dsource (druntime:
>>> http://dsource.org/projects/druntime) which is supposed to hold that
>>> common runtime.
>> I just thought I'd mention that if anyone wants to play with
>> this, the runtime is fully functional and there are versions
>> available for both D 1.0 and D 2.0 (in a branch and trunk,
>> respectively).  Assuming everything works out however, I
>> expect that only Phobos for D 2.0 will actually use the
>> common runtime, since D 1.0 is in maintenance mode now.
> 
> So what's the status, then, of Tango for D2?  I assume that having Phobos and
> Tango be able to be used together in D2 is kind of the point of druntime.

The user code will have to be updated, and that /may/ be enough of a change that a branch will be required.  If you're interested in using Tango with D 2.0 for now I'd suggest using DSSS instead of trying to build the user library, and just see how it goes.  My focus is on the runtime, so I honestly can't say how far you'll get.


Sean
October 03, 2008
Alexander Pánek wrote:
> Sean Kelly wrote:
>> Alexander Panek wrote:
>>> bearophile wrote:
>>>> From:
>>>
>>>>> regarding a common runtime for Phobos and Tango,<
>>>>
>>>> Can you give a little summary of this?
>>>
>>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to hold that common runtime.
>>
>> I just thought I'd mention that if anyone wants to play with
>> this, the runtime is fully functional and there are versions
>> available for both D 1.0 and D 2.0 (in a branch and trunk,
>> respectively).  Assuming everything works out however, I
>> expect that only Phobos for D 2.0 will actually use the
>> common runtime, since D 1.0 is in maintenance mode now.
> 
> Ah, good to know. What are the differences between druntime and Tango’s runtime? What about the features Tango has but Phobos doesn’t?

The location of things have changed and certain bits have been tightened up a bit compared to Tango, but the functionality should be identical to Tango's runtime.  With that in mind, if you want to try it out, build druntime and replace tango-base-dmd.lib with druntime-dmd.lib, get rid of the .di files in tango/core that are generated by the lib build process, and use the top-level memory, thread, etc, modules in their place.

The project is really just a proof of concept at this point.  I've got a version of Phobos for D 2.0 working on top of druntime with no problems, for example, but there is no official support yet for druntime from Phobos or Tango.

In short, druntime works just fine, but to actually use it right now you're pretty much on your own.  I'll be happy to answer any questions regarding setup, but don't have any plans yet for installation scripts, packaging, etc.

By the way, DMD is the only supported compiler at the moment.  I'll add support for the others later if the project actually takes off.


Sean
October 03, 2008
Sean Kelly Wrote:

> Alexander Pánek wrote:
> > Sean Kelly wrote:
> >> Alexander Panek wrote:
> >>> bearophile wrote:
> >>>> From:
> >>>
> >>>>> regarding a common runtime for Phobos and Tango,<
> >>>>
> >>>> Can you give a little summary of this?
> >>>
> >>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to hold that common runtime.
> >>
> >> I just thought I'd mention that if anyone wants to play with this, the runtime is fully functional and there are versions available for both D 1.0 and D 2.0 (in a branch and trunk, respectively).  Assuming everything works out however, I expect that only Phobos for D 2.0 will actually use the common runtime, since D 1.0 is in maintenance mode now.
> > 
> > Ah, good to know. What are the differences between druntime and Tango’s runtime? What about the features Tango has but Phobos doesn’t?
> 
> The location of things have changed and certain bits have been tightened up a bit compared to Tango, but the functionality should be identical to Tango's runtime.  With that in mind, if you want to try it out, build druntime and replace tango-base-dmd.lib with druntime-dmd.lib, get rid of the .di files in tango/core that are generated by the lib build process, and use the top-level memory, thread, etc, modules in their place.
> 
> The project is really just a proof of concept at this point.  I've got a version of Phobos for D 2.0 working on top of druntime with no problems, for example, but there is no official support yet for druntime from Phobos or Tango.
> 
> In short, druntime works just fine, but to actually use it right now you're pretty much on your own.  I'll be happy to answer any questions regarding setup, but don't have any plans yet for installation scripts, packaging, etc.
> 
> By the way, DMD is the only supported compiler at the moment.  I'll add support for the others later if the project actually takes off.
> 
> 
> Sean

What has been done to coordinate with Walter and/or the Phobos development team? Does the license match Walter's requirement? Are there any known reasons why D2 would not want to adopt this runtime?
October 03, 2008
Jason House wrote:
> Sean Kelly Wrote:
> 
>> Alexander Pánek wrote:
>>> Sean Kelly wrote:
>>>> Alexander Panek wrote:
>>>>> bearophile wrote:
>>>>>> From:
>>>>>>> regarding a common runtime for Phobos and Tango,<
>>>>>> Can you give a little summary of this?
>>>>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to
>>>>> hold that common runtime.
>>>> I just thought I'd mention that if anyone wants to play with this, the runtime is fully functional and there are versions available for both D 1.0 and D 2.0 (in a branch and trunk, respectively).  Assuming everything works out however, I expect
>>>> that only Phobos for D 2.0 will actually use the common
>>>> runtime, since D 1.0 is in maintenance mode now.
>>> Ah, good to know. What are the differences between druntime and
>>> Tango’s runtime? What about the features Tango has but Phobos
>>> doesn’t?
>> The location of things have changed and certain bits have been
>> tightened up a bit compared to Tango, but the functionality should
>> be identical to Tango's runtime.  With that in mind, if you want to
>> try it out, build druntime and replace tango-base-dmd.lib with
>> druntime-dmd.lib, get rid of the .di files in tango/core that are
>> generated by the lib build process, and use the top-level memory,
>> thread, etc, modules in their place.
>> 
>> The project is really just a proof of concept at this point.  I've
>> got a version of Phobos for D 2.0 working on top of druntime with
>> no problems, for example, but there is no official support yet for
>> druntime from Phobos or Tango.
>> 
>> In short, druntime works just fine, but to actually use it right
>> now you're pretty much on your own.  I'll be happy to answer any
>> questions regarding setup, but don't have any plans yet for
>> installation scripts, packaging, etc.
>> 
>> By the way, DMD is the only supported compiler at the moment.  I'll
>> add support for the others later if the project actually takes off.
>> 
>> 
>> 
>> Sean
> 
> What has been done to coordinate with Walter and/or the Phobos
> development team? Does the license match Walter's requirement? Are
> there any known reasons why D2 would not want to adopt this runtime?

D2 will in all likelihood adopt Sean's runtime. We only need to put in the adaptation work. I think Sean has done a tremendous contribution to the community.

Andrei
October 03, 2008
Andrei Alexandrescu wrote:
> Jason House wrote:
>> Sean Kelly Wrote:
>>
>>> Alexander Pánek wrote:
>>>> Sean Kelly wrote:
>>>>> Alexander Panek wrote:
>>>>>> bearophile wrote:
>>>>>>> From:
>>>>>>>> regarding a common runtime for Phobos and Tango,<
>>>>>>> Can you give a little summary of this?
>>>>>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to
>>>>>> hold that common runtime.
>>>>> I just thought I'd mention that if anyone wants to play with this, the runtime is fully functional and there are versions available for both D 1.0 and D 2.0 (in a branch and trunk, respectively).  Assuming everything works out however, I expect
>>>>> that only Phobos for D 2.0 will actually use the common
>>>>> runtime, since D 1.0 is in maintenance mode now.
>>>> Ah, good to know. What are the differences between druntime and
>>>> Tango’s runtime? What about the features Tango has but Phobos
>>>> doesn’t?
>>> The location of things have changed and certain bits have been
>>> tightened up a bit compared to Tango, but the functionality should
>>> be identical to Tango's runtime.  With that in mind, if you want to
>>> try it out, build druntime and replace tango-base-dmd.lib with
>>> druntime-dmd.lib, get rid of the .di files in tango/core that are
>>> generated by the lib build process, and use the top-level memory,
>>> thread, etc, modules in their place.
>>>
>>> The project is really just a proof of concept at this point.  I've
>>> got a version of Phobos for D 2.0 working on top of druntime with
>>> no problems, for example, but there is no official support yet for
>>> druntime from Phobos or Tango.
>>>
>>> In short, druntime works just fine, but to actually use it right
>>> now you're pretty much on your own.  I'll be happy to answer any
>>> questions regarding setup, but don't have any plans yet for
>>> installation scripts, packaging, etc.
>>>
>>> By the way, DMD is the only supported compiler at the moment.  I'll
>>> add support for the others later if the project actually takes off.
>>>
>>>
>>>
>>> Sean
>>
>> What has been done to coordinate with Walter and/or the Phobos
>> development team? Does the license match Walter's requirement? Are
>> there any known reasons why D2 would not want to adopt this runtime?
> 
> D2 will in all likelihood adopt Sean's runtime. We only need to put in the adaptation work. I think Sean has done a tremendous contribution to the community.

Any thoughts on using druntime in D1?
October 03, 2008
Alexander Pánek wrote:
> Andrei Alexandrescu wrote:
>> Jason House wrote:
>>> Sean Kelly Wrote:
>>>
>>>> Alexander Pánek wrote:
>>>>> Sean Kelly wrote:
>>>>>> Alexander Panek wrote:
>>>>>>> bearophile wrote:
>>>>>>>> From:
>>>>>>>>> regarding a common runtime for Phobos and Tango,<
>>>>>>>> Can you give a little summary of this?
>>>>>>> Well, there’s a project on dsource (druntime: http://dsource.org/projects/druntime) which is supposed to
>>>>>>> hold that common runtime.
>>>>>> I just thought I'd mention that if anyone wants to play with this, the runtime is fully functional and there are versions available for both D 1.0 and D 2.0 (in a branch and trunk, respectively).  Assuming everything works out however, I expect
>>>>>> that only Phobos for D 2.0 will actually use the common
>>>>>> runtime, since D 1.0 is in maintenance mode now.
>>>>> Ah, good to know. What are the differences between druntime and
>>>>> Tango’s runtime? What about the features Tango has but Phobos
>>>>> doesn’t?
>>>> The location of things have changed and certain bits have been
>>>> tightened up a bit compared to Tango, but the functionality should
>>>> be identical to Tango's runtime.  With that in mind, if you want to
>>>> try it out, build druntime and replace tango-base-dmd.lib with
>>>> druntime-dmd.lib, get rid of the .di files in tango/core that are
>>>> generated by the lib build process, and use the top-level memory,
>>>> thread, etc, modules in their place.
>>>>
>>>> The project is really just a proof of concept at this point.  I've
>>>> got a version of Phobos for D 2.0 working on top of druntime with
>>>> no problems, for example, but there is no official support yet for
>>>> druntime from Phobos or Tango.
>>>>
>>>> In short, druntime works just fine, but to actually use it right
>>>> now you're pretty much on your own.  I'll be happy to answer any
>>>> questions regarding setup, but don't have any plans yet for
>>>> installation scripts, packaging, etc.
>>>>
>>>> By the way, DMD is the only supported compiler at the moment.  I'll
>>>> add support for the others later if the project actually takes off.
>>>>
>>>>
>>>>
>>>> Sean
>>>
>>> What has been done to coordinate with Walter and/or the Phobos
>>> development team? Does the license match Walter's requirement? Are
>>> there any known reasons why D2 would not want to adopt this runtime?
>>
>> D2 will in all likelihood adopt Sean's runtime. We only need to put in the adaptation work. I think Sean has done a tremendous contribution to the community.
> 
> Any thoughts on using druntime in D1?

Walter needs to answer about D1.

Andrei
October 03, 2008
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail@erdani.org)'s
> D2 will in all likelihood adopt Sean's runtime. We only need to put in
> the adaptation work. I think Sean has done a tremendous contribution to
> the community.
> Andrei

Is the new model, then, going to become that Phobos and Tango are strictly user-level libraries that both run on top of druntime and can therefore be arbitrarily mixed and matched in code?

I think this would do wonders, not only for de-fragmenting the D community but for the development of both libraries.  It seems that Phobos and Tango had been converging to a degree in terms of feature set, etc., with lots of duplication of effort.  This is likely because using them in the same code base had been mutually exclusive, so everyone using one lib wanted that one killer feature from the other.  Now, with mixing and matching supported, Phobos can just be what it was designed to be, namely a compact standard library with only stuff that's very general purpose and a more procedural and/or functional style, and Tango can be what it was designed to be, a more Java-style standard library with just about everything and a more OO style.