Pause Self, Resume on Event

Steven Schveighoffer schveiguy at yahoo.com
Fri Jul 18 07:02:30 PDT 2008


"Sean Kelly" wrote
> Bill Baxter wrote:
>> Sean Kelly wrote:
>>> dsimcha wrote:
>>>>
>>>> On another note, anyone have any idea when/if Tango for D2, and 
>>>> Tangobos for Tango
>>>> for D2, will be available?  There are things I like and dislike about 
>>>> both Tango
>>>> and Phobos, and I really wish I could mix and match modules from them 
>>>> without
>>>> giving up my D2 features.  For example, I like Phobos's much simpler IO 
>>>> API, less
>>>> "OO everywhere" look and feel and "simple operations should be simple" 
>>>> mentality,
>>>> but I like Tango's extra math and threading stuff and richer feature 
>>>> set in
>>>> general.  Also, I've written a decent amount of Phobos code that I 
>>>> don't feel like
>>>> porting.
>>>
>>> There's no timeframe for D2 support at the moment.  I may look into at 
>>> least having the runtime be cross-compatible, but porting the user code 
>>> would require changes in structure / coding strategy that I can't see 
>>> anyone wanting to make.
>>
>> It seems to me that some people do actually like D2 and aren't using 
>> Tango precisely because there's no D2 support.  So who knows, maybe 
>> you'll find there's a new crop of D2/Tango volunteers that show up once 
>> the ball gets rolling.  Steven S. for one, perhaps.
>
> Yup.  There has been enough interest that I think it's worth getting the 
> runtime working at least.  The only real obstacle to that right now is 
> time.  The runtime uses the standard C, Posix, and Win32 packages for 
> various things and none of these are D2 compatible at the moment.  So the 
> sticking point is really that I need to find the time to go through the 
> standard C and Posix specs and add "in" to all the function parameters 
> that are const in the C APIs.  I should have left /*const*/ as a 
> placeholder when I created the modules but... oh well.  Live and learn.

The Win32 package I believe is already updated in the D2 branch.  It was 
pretty easy, since Windows uses their funky type names for all parameters, I 
just had to add const to the type definitions, e.g.

alias const(char) * LPCSTR;

The Posix stuff, I don't remember if we updated.  But it did compile with D 
2.007.  The latest compiler has some issues that make it impossible to use 
IFTI correctly with const variance, so for the moment, D2 is not an option 
for Tango.  Hopefully these are fixed soon.

My goal is to get Tango working on D2 for 2 reasons.  1, I like a lot of the 
new features, and would like to use them.  2, if Tango users are not using 
D2, it means that there are a lot of potential testers not finding problems 
in D2.  For bugs, this doesn't concern me a lot, but for design decisions 
that would make it impossible for Tango to build, I want to get those fixed 
before D2 is official, as Walter is really really, um.. really really a 
stickler for not changing design in a 'stable' release :)  In other words, I 
don't want to have to wait for D3 to come out in order to use Tango with it 
;)

-Steve 




More information about the Digitalmars-d-learn mailing list