FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Open Call for Suggestions: Coding Standards
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic     Forum Index -> Ares
View previous topic :: View next topic  
Author Message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 6:46 am    Post subject: Reply with quote

The Ares zipfile is intended to be extracted into your /dmd folder. It will drop libraries in /lib and put the source in /src. Then you should edit sc.ini to have it look in /src/ares instead of /src/phobos. The -I option doesn't work so well for Ares because its namespaces clash with Phobos.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Thu Aug 18, 2005 10:51 am    Post subject: Reply with quote

Can Ares be considered a drop-in replacement for phobos yet?

I would love to use it as such as soon as possible!

-JJR
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Thu Aug 18, 2005 11:15 am    Post subject: Reply with quote

JJR wrote:
Can Ares be considered a drop-in replacement for phobos yet?

I would love to use it as such as soon as possible!

-JJR

It doesn't have a 'quarantined' backward compatability arena yet, athough Mango is fully compatible (with a -version=Ares). The two are complementary to each other, and make a useful combination.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 11:28 am    Post subject: Reply with quote

Personally, I use Ares exclusively. But most people would probably miss the Phobos standard library. I suppose Ares should import Phobos.std into a namespace somewhere... perhaps 'old'? I've mostly been avoiding it because it's that many more files to update with new DMD releases Smile

The basic Windows framework is in pretty good shape now. I'm going to finish the Linux threading implementation and then probably leave the Unix stuff alone for a while, as most of my coding there is speculative. Ares needs something more than printf/scanf for i/o, but perhaps Mango support is enough for now?
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Thu Aug 18, 2005 11:43 am    Post subject: Reply with quote

sean wrote:
I suppose Ares should import Phobos.std into a namespace somewhere... perhaps 'old'? I've mostly been avoiding it because it's that many more files to update with new DMD releases Smile


I don't blame you. But if you ask me, it should probably be placed under 'phobos' (eg. std.phobos.math, std.phobos.stdio) within Ares. Make it a "satellite library" of sorts. Wink
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Thu Aug 18, 2005 12:16 pm    Post subject: Reply with quote

pragma wrote:
sean wrote:
I suppose Ares should import Phobos.std into a namespace somewhere... perhaps 'old'? I've mostly been avoiding it because it's that many more files to update with new DMD releases Smile


I don't blame you. But if you ask me, it should probably be placed under 'phobos' (eg. std.phobos.math, std.phobos.stdio) within Ares. Make it a "satellite library" of sorts. Wink


I'll second that notion. Though 'alt.phobos' might be a more suitable prefix for satellites Smile
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Thu Aug 18, 2005 1:13 pm    Post subject: Reply with quote

Thanks for the responses, guys.

I guess for backward compatibility, including phobos somehow is a necessity... sadly. Sad

I think there are a few functions in phobos, though, that would be quite useful still, std.math and the writef() functions for starters.

I guess writef() isn't that critical if I use mango, though. But I've actually grown somewhat fond of it, nevertheless.

-JJR
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 1:55 pm    Post subject: Reply with quote

I like writef as well. It's the one thing I really miss from Phobos. At the moment however, Ares' lack of UTF conversion routines is a significant obstacle for robust formatted i/o being a true library component. Perhaps that should be next on the list. I'll admit I've been avoiding it until now because it's such a darn big issue. Might it be enough to have basic conversion routines in the library and leave anything fancier for an ICU module? I'm hesitant to bundle in ICU by default as it's just so darn big.
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Thu Aug 18, 2005 2:09 pm    Post subject: Reply with quote

JJR wrote:
Thanks for the responses, guys.

I guess for backward compatibility, including phobos somehow is a necessity... sadly. Sad

I think there are a few functions in phobos, though, that would be quite useful still, std.math and the writef() functions for starters.

I guess writef() isn't that critical if I use mango, though. But I've actually grown somewhat fond of it, nevertheless.

-JJR

John ~ have you tried Stdout.print and Stdout.println in Mango? You may find they suit your needs just as effectively.
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Thu Aug 18, 2005 2:12 pm    Post subject: Reply with quote

sean wrote:
I like writef as well. It's the one thing I really miss from Phobos. At the moment however, Ares' lack of UTF conversion routines is a significant obstacle for robust formatted i/o being a true library component. Perhaps that should be next on the list. I'll admit I've been avoiding it until now because it's such a darn big issue. Might it be enough to have basic conversion routines in the library and leave anything fancier for an ICU module? I'm hesitant to bundle in ICU by default as it's just so darn big.

Yeah, ICU should be optional in my opinion too. I'm currently working on a stripped down alternative for Mango that will share a common interface with the ICU wrapper. Does this sound like something useful?
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 2:22 pm    Post subject: Reply with quote

kris wrote:
Yeah, ICU should be optional in my opinion too. I'm currently working on a stripped down alternative for Mango that will share a common interface with the ICU wrapper. Does this sound like something useful?

Definately.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 2:27 pm    Post subject: Reply with quote

By the way, I just noticed that ICU 3.4 was released on August 1st. It's advertised as being a significant upgrade, though hopefully that won't break the D interface.
Back to top
View user's profile Send private message
Derek Parnell



Joined: 22 Apr 2004
Posts: 408
Location: Melbourne, Australia

PostPosted: Thu Aug 18, 2005 3:02 pm    Post subject: Open source projects using Ares Reply with quote

JJR wrote:
Can Ares be considered a drop-in replacement for phobos yet?

I would love to use it as such as soon as possible!

-JJR


I have an issue here with using Ares, and/or Mango, with open source projects. If I used either in Build it would add one or more extras things to do for people to recompile Build on their system. I mean, do I also package up a copy of the Ares/Mango .lib file with Build? Or do I just make a reference to the download page for these libraries and tell people that they need a (specific?) version of Ares or Mango, if they want to compile Build?

If Ares/Mango were widely available then this wouldn't be a big issue.

And Ares is not completed yet either so subsequent release of Ares might break already downloaded copies of Build. Meaning that if a new Ares is released, people might also have to get an updated Build too.

This is the main reason why I'm sticking with Phobos for now.
_________________
--
Derek
skype name: derek.j.parnell
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 3:18 pm    Post subject: Reply with quote

Ares makes no attempt to be compatible with Phobos, so cross-compilation with anything that actively uses Phobos library features will require some version blocks. That said, I want Ares to evolve as an alternative standard library, so features that make it into Ares should remain with very few changes (this is also one reason why development has been proceeding somewhat slowly). Perhaps the best way to handle new Ares code would be to put it in its own package (similar to the std::tr1 namespace being used now in C++). This should help to distinguish code under review from code that's somewhat "final," and hopefully help to solicit input on features that need review.
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Thu Aug 18, 2005 4:26 pm    Post subject: Re: Open source projects using Ares Reply with quote

Derek Parnell wrote:
I have an issue here with using Ares, and/or Mango, with open source projects. If I used either in Build it would add one or more extras things to do for people to recompile Build on their system. I mean, do I also package up a copy of the Ares/Mango .lib file with Build? Or do I just make a reference to the download page for these libraries and tell people that they need a (specific?) version of Ares or Mango, if they want to compile Build?


IMO, just bundle up the requisite verison source code for Mango and/or Ares and provide them alongside Build. At least that way, you'd be sure that Build will always compile as the user would have access to the correct version of Build's dependencies.

A slightly different way to go would be to teach Build how to create dependency-complete "source bundles" (a zip or jar would work great) of code that given program needs to compile. That way the source distribution would be a version-exact source tree for just that program, no more, no less.
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Ares All times are GMT - 6 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group