October 21, 2008
Robert Fraser, el 21 de octubre a las 03:09 me escribiste:
> Thanks to you & Walter for all your hard work.

ditto =)

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
El día que falten los niños, que sobren las mujeres y que se prenda
fuego el último árbol, será el Apocalípsis.
	-- Ricardo Vaporeso. Camino Negro, 1916.
October 22, 2008
Tue, 21 Oct 2008 11:04:56 -0700,
Sean Kelly wrote:
> Sergey Gromov wrote:
> > Tue, 21 Oct 2008 09:40:28 -0700,
> > Sean Kelly wrote:
> >> Don wrote:
> >>> We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.
> >> It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.
> >>
> >> Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.
> > 
> > I actually was expecting all the runtime stuff to be in core.* and was surprised to find std and sys there.
> 
> I didn't even create core until just recently--before that, the modules in core were global, much like object.  So my thoughts on the druntime package layout are still evolving.  I do now think that having a single top-level package would probably be best, but figured I'd solicit opinions before changing anything.

I think the <default> package should be left for the user.  This also gives you an opportunity to use package protection where appropriate.
October 22, 2008
On Wed, Oct 22, 2008 at 9:19 AM, Sergey Gromov <snake.scaly@gmail.com> wrote:
> Tue, 21 Oct 2008 11:04:56 -0700,
> Sean Kelly wrote:
>> Sergey Gromov wrote:
>> > Tue, 21 Oct 2008 09:40:28 -0700,
>> > Sean Kelly wrote:
>> >> Don wrote:
>> >>> We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.
>> >> It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.
>> >>
>> >> Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.
>> >
>> > I actually was expecting all the runtime stuff to be in core.* and was surprised to find std and sys there.
>>
>> I didn't even create core until just recently--before that, the modules in core were global, much like object.  So my thoughts on the druntime package layout are still evolving.  I do now think that having a single top-level package would probably be best, but figured I'd solicit opinions before changing anything.
>
> I think the <default> package should be left for the user.  This also gives you an opportunity to use package protection where appropriate.
>

I like core as the package name.  Or maybe even std.core if that's
technically possible.
The stuff in there is going to be kind of rare to import directly,
right?  So doesn't seem like the modules need to be top-level (or even
second level).

I also like the idea of renaming the whole project from druntime to dcore.  Just sounds cooler. :-)

--bb
October 22, 2008
Bill Baxter wrote:
> 
> I also like the idea of renaming the whole project from druntime to
> dcore.  Just sounds cooler. :-)

Yeah it does :-)


Sean
October 22, 2008
On Mon, 20 Oct 2008 16:29:36 -0700, Walter Bright wrote:

> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
> 
> The 2.0 version splits phobos into druntime and phobos libraries (thanks to Sean Kelly). This will enable both Tango and Phobos to share a common core library.
> 
> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
> 
> There are a lot of structural changes that go along with this, so expect some rough patches with this release. It may take a followup release to file them down. There's also some renaming of imports and function names, as a compromise with Tango names.

This is FANTASTIC news. Many thanks to everyone involved, especially Sean for all the hard work.
October 22, 2008
Sean Kelly wrote:

> Don wrote:
>> 
>> We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.
> 
> It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.
> 
> Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.
> 
> 
> Sean

Functionality exposed from the runtime should reside in core, std shouldn't be used in druntime and any other packages (sys) is presumingly reserved for what corresponds to tango.sys

In any case, a hierarchy of the type

common/
  core/
  sys/
  stdc/

should be highly considered. This would allow a namespace for functionality that is truly common, not only the runtime, but math and eventually other functionality. In addition it is naive to believe that just because druntime is meant to be a common runtime, that it will be the only runtime in the long run.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
October 22, 2008
Lars Ivar Igesund wrote:
> Sean Kelly wrote:
> 
>> Don wrote:
>>> We also now have two modules called 'bitmanip', which is somewhat ironic
>>> since we brainstormed for ages trying to come up with a better name for
>>> it. Modules with duplicate names have caused linking problems in the
>>> past -- not sure if that applies here.
>> It applies if the modules from both Phobos and druntime end up in the
>> same library on *nix.  Windows doesn't appear to have the same issue.
>> But I'd love to hear suggestions for alternative names-- I'm not
>> terribly good at naming modules :-p.
>>
>> Also, any I'd like to see how people feel about having three top-level
>> packages in druntime vs. one-- an alternative I'd considered was to put
>> everything under core.
>>
>>
>> Sean
> 
> Functionality exposed from the runtime should reside in core, std shouldn't
> be used in druntime and any other packages (sys) is presumingly reserved
> for what corresponds to tango.sys
> 
> In any case, a hierarchy of the type
> 
> common/
>   core/
>   sys/
>   stdc/
> 
> should be highly considered. This would allow a namespace for functionality
> that is truly common, not only the runtime, but math and eventually other
> functionality. In addition it is naive to believe that just because
> druntime is meant to be a common runtime, that it will be the only runtime
> in the long run.

A problem I see with the proliferation of top-level packages in the standard library is that each of them makes homonym user-defined packages inaccessible. Heck, I have a package called "common" today.

Andrei
October 22, 2008
Andrei Alexandrescu wrote:
> Lars Ivar Igesund wrote:
>> Sean Kelly wrote:
>>
>>> Don wrote:
>>>> We also now have two modules called 'bitmanip', which is somewhat ironic
>>>> since we brainstormed for ages trying to come up with a better name for
>>>> it. Modules with duplicate names have caused linking problems in the
>>>> past -- not sure if that applies here.
>>> It applies if the modules from both Phobos and druntime end up in the
>>> same library on *nix.  Windows doesn't appear to have the same issue.
>>> But I'd love to hear suggestions for alternative names-- I'm not
>>> terribly good at naming modules :-p.
>>>
>>> Also, any I'd like to see how people feel about having three top-level
>>> packages in druntime vs. one-- an alternative I'd considered was to put
>>> everything under core.
>>>
>>>
>>> Sean
>>
>> Functionality exposed from the runtime should reside in core, std shouldn't
>> be used in druntime and any other packages (sys) is presumingly reserved
>> for what corresponds to tango.sys
>>
>> In any case, a hierarchy of the type
>>
>> common/
>>   core/
>>   sys/
>>   stdc/
>>
>> should be highly considered. This would allow a namespace for functionality
>> that is truly common, not only the runtime, but math and eventually other
>> functionality. In addition it is naive to believe that just because
>> druntime is meant to be a common runtime, that it will be the only runtime
>> in the long run.
> 
> A problem I see with the proliferation of top-level packages in the standard library is that each of them makes homonym user-defined packages inaccessible. Heck, I have a package called "common" today.
> 
> Andrei

'std', 'stdc' and 'sys' sound OK to me. Although is there any reason why stdc couldn't be part of 'sys'?
IMHO: 'common' sounds far too generic. 'core' is borderline.

Of course if the non-common parts of Phobos were moved to a namespace called 'phobos', std would become the perfect location for common code. But changing std.stdio to phobos.stdio might not be acceptable.

Anyway, we need to arrange a common location somehow.
October 22, 2008
Andrei Alexandrescu wrote:

> Lars Ivar Igesund wrote:
>> Sean Kelly wrote:
>> 
>>> Don wrote:
>>>> We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.
>>> It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.
>>>
>>> Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.
>>>
>>>
>>> Sean
>> 
>> Functionality exposed from the runtime should reside in core, std shouldn't be used in druntime and any other packages (sys) is presumingly reserved for what corresponds to tango.sys
>> 
>> In any case, a hierarchy of the type
>> 
>> common/
>>   core/
>>   sys/
>>   stdc/
>> 
>> should be highly considered. This would allow a namespace for functionality that is truly common, not only the runtime, but math and eventually other functionality. In addition it is naive to believe that just because druntime is meant to be a common runtime, that it will be the only runtime in the long run.
> 
> A problem I see with the proliferation of top-level packages in the standard library is that each of them makes homonym user-defined packages inaccessible. Heck, I have a package called "common" today.

This is not about proliferation, but having _one_ for common functionality. common was just a suggestion that I like, it could be something else that fits the purpose.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
October 22, 2008
Don wrote:
> 
> 'std', 'stdc' and 'sys' sound OK to me. Although is there any reason why stdc couldn't be part of 'sys'?
> IMHO: 'common' sounds far too generic. 'core' is borderline.

My current thought is to have:

core/
    stdc/
    sys/posix
    sys/windows

(yes, I'm planning to move posix support out of stdc)

Alternatives to core are: lang, d, base...  But I like core the best so far.


Sean