July 14, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | Steve Teale wrote:
>
> Sean,
>
> I give in. I know that your motivations are genuine. I just don't want two see classes of D citizens. In Europe we fought for centuries over this sort of thing. Somehow we should get to astate of affairs where if you are writing a library you should not have to make a religious choice as to which standard library you subscribe to. Please talk to Walter at the conference, and try and get this sorted. I would love to attend, but I live on the other side of the world, and still need to go to work.
Releasing Tango was a calculated short-term risk. We felt we had something to offer, but wanted it left up to the community to decide whether we were right. Our belief was that by releasing fairly early in D's lifetime, any growing pains resulting from the presence of two such libraries would be sorted out fairly quickly. I do think the conference is timed quite well in this respect, and am looking forward to meeting the man behind the compiler :-)
Sean
| |||
July 14, 2007 Re: Tangobos (Was: Re: Two standard libraries?) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Nicolai Waniek | Most of it isn't a layer - look at the code; most of it is just Phobos copied directly with a few minor changes to make it compile under Tango. The real problem is code bloat, but if that's not an issue, you can use it so that you can use both Phobos and Tango libs in your application.
Nicolai Waniek Wrote:
> Robert Fraser wrote:
> > Not sure if anyone has mentioned tangobos yet:
> >
> > http://www.dsource.org/projects/tangobos/
> >
> > Alan Knowles Wrote:
> >
>
> I personally don't like the idea of having yet another layer. This reminds me a
> bit of Java: You have a layer, for a layered layer that layers something
> completely else.
> The word layer is used at least 4 times too often in the last sentence ;)
>
>
> --
> .71
> nicolai dot waniek at sphere71 dot com
| |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steve Teale | Steve Teale Wrote:
[...]
> Then let's persist with this bitching until we get it sorted. Someone else in the thread has already noted that Walter has too much on his back already. Somehow we need to get these things unified, so it's safe to write a library. My version of Phobos is patched, as I suspect are many, but as you say there's no way of checking these changes in.
>
> Walter, you are eventually going to have to delegate this somewhere!
>
> Steve
>
I did not mean to bitch. From what I understand, Walter wants to design and write the perfect language and compiler. I like it, and it was love on first sight:-)
But he needs to realize that even his day only has 36 hours and let not-that-brilliant programmers help with the runtime. Putting Phobos under svn might ease the task.
Ciao
Tom
| |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to TomD | TomD wrote:
> Steve Teale Wrote:
>
> [...]
>> Then let's persist with this bitching until we get it sorted.
>> Someone else in the thread has already noted that Walter has too
>> much on his back already. Somehow we need to get these things
>> unified, so it's safe to write a library. My version of Phobos is
>> patched, as I suspect are many, but as you say there's no way of
>> checking these changes in.
>>
>> Walter, you are eventually going to have to delegate this
>> somewhere!
>>
>> Steve
>>
> I did not mean to bitch. From what I understand, Walter wants to
> design and write the perfect language and compiler. I like it, and it
> was love on first sight:-) But he needs to realize that even his day
> only has 36 hours and let not-that-brilliant programmers help with
> the runtime. Putting Phobos under svn might ease the task.
Just putting it under svn isn't enough. It needs to have someone in charge of it. To manage incoming patches. To think about overall organization. And ideally to work on things like a good set of templated containers. Hmm... kind of exactly like what those Tango guys are doing.
--bb
| |||
July 15, 2007 Re: Tangobos (Was: Re: Two standard libraries?) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Robert Fraser | Robert Fraser wrote: > Most of it isn't a layer - look at the code; most of it is just Phobos copied directly with a few minor changes to make it compile under Tango. The real problem is code bloat, but if that's not an issue, you can use it so that you can use both Phobos and Tango libs in your application. > Sorry, I didn't look that closely at the sources, but I always try to not-use any layered stuff. I hope you didn't take my post as offending, that was not my intend. All respect to anyone who publishes good stuff :-) -- .71 nicolai dot waniek at sphere71 dot com | |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | Don Clugston wrote: > Sean Kelly wrote: > > For the former, perhaps it would be possible to have an extension to the > module statement to indicate "this module should not generate any > TypeInfo". > I'm particularly thinking of things like the Windows headers, which > should entirely disappear if not used. Or there could be the "Delphi way of doing it": There no class has any type information unless you activate it for that special class by adding (i guess, it's long ago that I did that) {$R+} to the source: {$R+} TMyClass = class(TObject) ... {$R-} -- .71 nicolai dot waniek at sphere71 dot com | |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote: > Nicolai Waniek wrote: > > At this point, there are two factors that bloat D executables: TypeInfo, and file-level linking. We're likely stuck with the former, but if the latter could be addressed then things would improve tremendously. Unfortunately, this suggests that we'll need a new linker for Win32. > > > Sean I totally agree with you on these points, for example a minimal "hello world" app on my linux box here makes >200kb, that's not what I think of as "lightweight application" ;) -- .71 nicolai dot waniek at sphere71 dot com | |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter Wrote:
[...]
> Just putting it under svn isn't enough. It needs to have someone in charge of it. To manage incoming patches. To think about overall organization. And ideally to work on things like a good set of templated containers. Hmm... kind of exactly like what those Tango guys are doing.
>
> --bb
I know. I am contemplating how much work that would be. What makes me shy away a bit is the importance of the project. On the other, looking at bugzilla, there are 47 open issues connected to Phobos. Some have allegedly working patches attached. I can check them with dmd/XP and dmd/Linux. Would adding a comment to those issues confirming/not confirming the patches be helpful?
Ciao
Tom
| |||
July 15, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Nicolai Waniek | Nicolai Waniek wrote:
> Sean Kelly wrote:
>> Nicolai Waniek wrote:
>>
>> At this point, there are two factors that bloat D executables: TypeInfo,
>> and file-level linking. We're likely stuck with the former, but if the
>> latter could be addressed then things would improve tremendously.
>> Unfortunately, this suggests that we'll need a new linker for Win32.
>
> I totally agree with you on these points, for example a minimal "hello world"
> app on my linux box here makes >200kb, that's not what I think of as
> "lightweight application" ;)
For comparison, using printf on Win32/Tango, a "hello world" app is ~100k. Sometime prior to 1.0 the same app was ~70k. And replacing printf with Stdout results in a ~130k app using the current release.
The 70k-100k jump involves a number of factors, one of which is an increase of the size of the Tango runtime code (mostly the thread code). The rest is an increase in the size of TypeInfo, if I remember correctly.
I don't think it would be possible to have "opt-in" TypeInfo generation because TypeInfo is used for all sorts of things in the runtime: element comparison for the built-in AAs and array sorting, passing type information to the GC for scanning purposes, etc. It may be that TypeInfo size could be reduced somehow, or TypeInfo could always be generated into some sort of peripheral object file, but I'll admit the idea that seems most promising is segment-level linking. Since the GNU linker can already do this (with --gc-sections or some such), perhaps a good first step would be to get it working there? I know there have been problems with this option and D exception handling code in the past, but I recall there being a suggested fix in the bug tracker somewhere.
Sean
| |||
July 16, 2007 Re: Two standard libraries? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to TomD | TomD Wrote:
> Steve Teale Wrote:
>
> [...]
> > Then let's persist with this bitching until we get it sorted. Someone else in the thread has already noted that Walter has too much on his back already. Somehow we need to get these things unified, so it's safe to write a library. My version of Phobos is patched, as I suspect are many, but as you say there's no way of checking these changes in.
> >
> > Walter, you are eventually going to have to delegate this somewhere!
> >
> > Steve
> >
> I did not mean to bitch. From what I understand, Walter wants to design and write the perfect language and compiler. I like it, and it was love on first sight:-)
> But he needs to realize that even his day only has 36 hours and let not-that-brilliant programmers help with the runtime. Putting Phobos under svn might ease the task.
>
> Ciao
> Tom
It was me that was bitching ;=)
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply