Jump to page: 1 216  
Page
Thread overview
What library functionality would you most like to see in D?
Jul 31, 2011
Jonathan M Davis
Jul 31, 2011
Nick Sabalausky
Jul 31, 2011
Jonathan M Davis
Jul 31, 2011
Anders Ahlström
Jul 31, 2011
Mirko Pilger
Jul 31, 2011
Anders Ahlström
Jul 31, 2011
Caligo
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jonathan M Davis
Jul 31, 2011
Jonathan M Davis
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Mike Parker
Aug 01, 2011
Nick Sabalausky
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Andrej Mitrovic
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Jacob Carlborg
Aug 01, 2011
Jacob Carlborg
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Marco Leise
Aug 01, 2011
Jacob Carlborg
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Jacob Carlborg
Aug 01, 2011
Heywood Floyd
Aug 01, 2011
Paul D. Anderson
Aug 01, 2011
Andrej Mitrovic
Aug 01, 2011
Walter Bright
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Jonathan M Davis
Aug 02, 2011
Johann MacDonagh
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jim Hewes
Aug 01, 2011
Jacob Carlborg
Aug 01, 2011
Jim Hewes
Aug 02, 2011
Jacob Carlborg
Jul 31, 2011
simendsjo
Jul 31, 2011
Jacob Carlborg
Jul 31, 2011
Jimmy Cao
Jul 31, 2011
Robert Clipsham
Jul 31, 2011
Peter Alexander
Jul 31, 2011
Brian Hay
Jul 31, 2011
Andrej Mitrovic
Aug 01, 2011
filgood
Aug 02, 2011
so
Jul 31, 2011
dsimcha
Jul 31, 2011
bearophile
Aug 01, 2011
Nick Sabalausky
Aug 10, 2011
Simen Kjaeraas
Aug 10, 2011
bearophile
Jul 31, 2011
Walter Bright
Jul 31, 2011
KennyTM~
Aug 01, 2011
Johann MacDonagh
Aug 01, 2011
Nick Sabalausky
DWT in Phobos? was [Re: What library functionality would you most like to see in D?]
Aug 01, 2011
Jesse Phillips
Aug 02, 2011
Jacob Carlborg
Aug 02, 2011
Jesse Phillips
Aug 02, 2011
Brad Roberts
Aug 02, 2011
Brad Roberts
Aug 03, 2011
Lutger Blijdestijn
Aug 02, 2011
Adam D. Ruppe
Aug 02, 2011
Marco Leise
Aug 02, 2011
Andrej Mitrovic
Aug 04, 2011
Jos van Uden
Aug 04, 2011
Mehrdad
Aug 04, 2011
Graham Fawcett
Aug 04, 2011
Marco Leise
Aug 04, 2011
Dmitry Olshansky
Aug 05, 2011
Mehrdad
Aug 02, 2011
bearophile
Aug 02, 2011
so
Aug 02, 2011
Marco Leise
May 10, 2012
user
Aug 02, 2011
so
Aug 02, 2011
Jimmy Cao
Aug 02, 2011
Marco Leise
Aug 02, 2011
Jimmy Cao
Aug 03, 2011
Jacob Carlborg
Aug 03, 2011
Lutger Blijdestijn
Aug 03, 2011
KennyTM~
Aug 03, 2011
Andrej Mitrovic
Aug 03, 2011
Andrej Mitrovic
Aug 02, 2011
Jimmy Cao
Aug 02, 2011
Andrej Mitrovic
Aug 02, 2011
Walter Bright
Aug 03, 2011
Jacob Carlborg
Aug 02, 2011
Johann MacDonagh
Aug 02, 2011
Jonathan M Davis
Aug 02, 2011
Jacob Carlborg
Aug 02, 2011
Nick Sabalausky
Aug 03, 2011
Jacob Carlborg
Aug 02, 2011
Jacob Carlborg
Aug 02, 2011
Josh Simmons
Aug 02, 2011
Johann MacDonagh
Aug 02, 2011
Adam Ruppe
Aug 03, 2011
Johann MacDonagh
Aug 03, 2011
Piotr Szturmaj
Aug 03, 2011
Adam D. Ruppe
Aug 03, 2011
Johann MacDonagh
Aug 03, 2011
Adam D. Ruppe
Aug 01, 2011
Jonathan M Davis
Aug 01, 2011
Andrej Mitrovic
Aug 01, 2011
Lutger Blijdestijn
Aug 01, 2011
Piotr Szturmaj
Aug 02, 2011
Daniel Gibson
Aug 02, 2011
Jacob Carlborg
Aug 02, 2011
Jacob Carlborg
Aug 02, 2011
Nick Sabalausky
Aug 02, 2011
Andrej Mitrovic
Aug 03, 2011
Nick Sabalausky
Aug 03, 2011
Johann MacDonagh
Aug 03, 2011
Andrej Mitrovic
Aug 03, 2011
Nick Sabalausky
Aug 03, 2011
Andrej Mitrovic
Aug 04, 2011
Walter Bright
Aug 05, 2011
Andrej Mitrovic
Aug 06, 2011
Walter Bright
Aug 06, 2011
Caligo
Aug 03, 2011
Jacob Carlborg
Aug 02, 2011
Paul D. Anderson
Aug 10, 2011
Simen Kjaeraas
Aug 06, 2011
albatroz
Aug 06, 2011
simendsjo
Aug 07, 2011
Mehrdad
Aug 07, 2011
Dmitry Olshansky
Aug 07, 2011
Jonathan M Davis
Aug 07, 2011
Mehrdad
Aug 08, 2011
Nick Sabalausky
Aug 10, 2011
Simen Kjaeraas
Aug 10, 2011
simendsjo
Aug 11, 2011
Jacob Carlborg
Aug 11, 2011
Simen Kjaeraas
July 31, 2011
I think that it would be useful to query the community for what piece of library functionality they don't currently have in D and would most like to see. For instance, there is no official logging framework in D or any 3rd party libraries which do it AFAIK. So, that could be one type of functionality that you may like to see. Now, there is a prospective implementation for std.log which shouldn't be all that far away from being reviewed, so listing that here wouldn't be all that useful, since it's on its way. But what other major functionality do you miss in D that other languages' that you use have available in their libraries?

My hope here would be that we could get some good ideas going here such that we have can have a better idea what type of functionality it would be particularly useful to be working on for Phobos or 3rd party D libraries for the community, and maybe it'll even get some people to actually go and work on these ideas so that we can improve the libraries that we have to work with in D. We can always use more help, and we definitely need a richer library ecosystem for D. But even just discussing ideas could be of benefit.

So, what major functionality which we don't currently have would you like to see in either Phobos or in a 3rd party library so that you could use it in your D programs?

- Jonathan M Davis
July 31, 2011
"Jonathan M Davis" <jmdavisProg@gmx.com> wrote in message news:mailman.1978.1312090051.14074.digitalmars-d@puremagic.com...
>I think that it would be useful to query the community for what piece of
> library functionality they don't currently have in D and would most like
> to
> see. For instance, there is no official logging framework in D or any 3rd
> party
> libraries which do it AFAIK. So, that could be one type of functionality
> that
> you may like to see. Now, there is a prospective implementation for
> std.log
> which shouldn't be all that far away from being reviewed, so listing that
> here
> wouldn't be all that useful, since it's on its way. But what other major
> functionality do you miss in D that other languages' that you use have
> available in their libraries?
>
> My hope here would be that we could get some good ideas going here such
> that
> we have can have a better idea what type of functionality it would be
> particularly useful to be working on for Phobos or 3rd party D libraries
> for
> the community, and maybe it'll even get some people to actually go and
> work on
> these ideas so that we can improve the libraries that we have to work with
> in
> D. We can always use more help, and we definitely need a richer library
> ecosystem for D. But even just discussing ideas could be of benefit.
>
> So, what major functionality which we don't currently have would you like
> to
> see in either Phobos or in a 3rd party library so that you could use it in
> your D programs?
>

Off the top of my head: curl and xml


July 31, 2011
On Sunday 31 July 2011 01:53:25 Nick Sabalausky wrote:
> "Jonathan M Davis" <jmdavisProg@gmx.com> wrote in message news:mailman.1978.1312090051.14074.digitalmars-d@puremagic.com...
> 
> >I think that it would be useful to query the community for what piece of
> >
> > library functionality they don't currently have in D and would most like
> > to
> > see. For instance, there is no official logging framework in D or any
> > 3rd
> > party
> > libraries which do it AFAIK. So, that could be one type of functionality
> > that
> > you may like to see. Now, there is a prospective implementation for
> > std.log
> > which shouldn't be all that far away from being reviewed, so listing
> > that
> > here
> > wouldn't be all that useful, since it's on its way. But what other major
> > functionality do you miss in D that other languages' that you use have
> > available in their libraries?
> > 
> > My hope here would be that we could get some good ideas going here such
> > that
> > we have can have a better idea what type of functionality it would be
> > particularly useful to be working on for Phobos or 3rd party D libraries
> > for
> > the community, and maybe it'll even get some people to actually go and
> > work on
> > these ideas so that we can improve the libraries that we have to work
> > with in
> > D. We can always use more help, and we definitely need a richer library
> > ecosystem for D. But even just discussing ideas could be of benefit.
> > 
> > So, what major functionality which we don't currently have would you
> > like
> > to
> > see in either Phobos or in a 3rd party library so that you could use it
> > in your D programs?
> 
> Off the top of my head: curl and xml

Fortunately, both of those are in the works. A curl wrapper is more or less ready for review as I understand it, so it could be in Phobos fairly soon, but I have no idea where the new std.xml stands.

- Jonathan M Davis
July 31, 2011
On 31-07-2011 07:27, Jonathan M Davis wrote:
> I think that it would be useful to query the community for what piece of
> library functionality they don't currently have in D and would most like to
> see. For instance, there is no official logging framework in D or any 3rd party
> libraries which do it AFAIK. So, that could be one type of functionality that
> you may like to see. Now, there is a prospective implementation for std.log
> which shouldn't be all that far away from being reviewed, so listing that here
> wouldn't be all that useful, since it's on its way. But what other major
> functionality do you miss in D that other languages' that you use have
> available in their libraries?
>
> My hope here would be that we could get some good ideas going here such that
> we have can have a better idea what type of functionality it would be
> particularly useful to be working on for Phobos or 3rd party D libraries for
> the community, and maybe it'll even get some people to actually go and work on
> these ideas so that we can improve the libraries that we have to work with in
> D. We can always use more help, and we definitely need a richer library
> ecosystem for D. But even just discussing ideas could be of benefit.
>
> So, what major functionality which we don't currently have would you like to
> see in either Phobos or in a 3rd party library so that you could use it in
> your D programs?
>
> - Jonathan M Davis

Here's a bunch of ideas, listed in no particular order...

--

* Native code generation:

I know this is quite a stretch for the standard library, but one thing I'm kind of missing at the moment is a uniform way to generate native machine code.

This could be a useful piece of functionality for any application that takes code and just-in-time compiles it, in order to subsequently execute it. It could even be abstract enough to be reused as a general-purpose code generation library for executable files. I'm sure compiler/interpreter/VM writers alike would find this useful; I know I would. I'm currently in the process of writing a compiler infrastructure which will be capable of spitting out x86(-64) executable files, as well as executing code right in memory. In order to do this, I have to implement a code generation library for all of x86(-64); this is not a problem, but I'm sure others have had to do this before me (and will in the future). Standard facilities for this would make compiler engineering in D much easier.

All this being said, this would probably be scarcely used and thus might not deserve much priority; I'm sure there are other things in much greater need of work at the moment. I just wanted to put this out there, at least.

If this is something that would be desirable for the standard library, I would have no problem writing it for Phobos rather than my specific project.

* Concurrency:

Another thing I'd like to see is a better way of doing message-passing. Since D threads are, effectively, OS threads, spawning lots of actors is not as cheap as one would like. I'd like some way to spawn lightweight threads that integrate with std.concurrency so that actor systems can be modeled naturally (a la Erlang), rather than throwing several actors into one thread. I'm not sure how heavy fibers are in D, but perhaps it could be implemented on top of those?

It would be even more awesome if std.concurrency was expanded to actually support distributed message-passing in some way; even heavyweight threads would be acceptable as long as the system could scale horizontally.

* GPU/graphics:

Standard library support for OpenGL and OpenCL would be a great way to make D more accessible for GPU-oriented programmers, I would think. Wrapping these libraries would probably be rather trivial. DirectX could of course be wrapped too, but I suppose a cross-platform interface would be better.

* Configuration:

AFAIK, D has no standard way of doing configuration at the moment. I don't know whether people see this as a problem or not. On one hand, just asking some configuration parser to fetch values for you is very convenient, but on the other hand, people might not like having some sort of "official D configuration format". Personally, the former seems appealing to me, as configuration parsing is the last thing I want to work on in my projects. ;)

* Cryptography:

D could definitely use more implementations of cryptographic algorithms. Wrapping OpenSSL might be a wise thing to do.

* Compiler interface:

Some primitive sort of interface to invoke the compiler on a set of files with certain options could be useful to invoke child processes with code compiled on the fly. This would of course demand that DMD is installed, but I don't think that's a problem for apps where doing this in the first place is a good idea.

* Lexing and parsing:

Standard facilities for these tasks could be very useful. Perhaps D could get its own dlex and dyacc or some such tools. Personally, I prefer sticking to LL(1), but LALR is generally more convenient and flexible, and thus I'd suggest something YACC/ANTLR-like.

(I know this doesn't have much to do with Phobos per se, but I figured I'd mention it.)

* Asynchronous sockets:

For high-performance servers, asynchronous sockets utilizing functionality such as IOCP on Windows is important.

* Audio/video:

Interfaces to a library such as Libav could be included in Phobos.

* Serialization:

Some kind of serialization library could be useful. It could probably use compile-time reflection to figure out what kind of code to generate for a type, although my knowledge in D's CTR is not really sufficient to judge this.

--

Personally, what I'd like to see done first would be native code generation, concurrency, and cryptography.

- Alex
July 31, 2011
== Quote from Alex Rønne Petersen (xtzgzorex@gmail.com)'s article
> Here's a bunch of ideas, listed in no particular order...
> ...
> * Configuration:
>
> AFAIK, D has no standard way of doing configuration at the moment. I don't know whether people see this as a problem or not. On one hand, just asking some configuration parser to fetch values for you is very convenient, but on the other hand, people might not like having some sort of "official D configuration format". Personally, the former seems appealing to me, as configuration parsing is the last thing I want to work on in my projects. ;)

I'm new to D, but I guess I might be able to develop some sort of configuration file library (supporting reading and writing values etc.). Do you guys have some sort of preferences or should I just go with standard INI files?

AFAIK, D supports XML already, which can be used for configuration files, but sometimes something simpler can be convenient.
July 31, 2011
> I'm new to D, but I guess I might be able to develop some sort of configuration
> file library (supporting reading and writing values etc.). Do you guys have some
> sort of preferences or should I just go with standard INI files?

maybe boost::property_tree could be of some inspiration here:

http://www.boost.org/doc/libs/1_47_0/doc/html/property_tree.html

July 31, 2011
On 2011-07-31 08:47, Alex Rønne Petersen wrote:
> * GPU/graphics:
>
> Standard library support for OpenGL and OpenCL would be a great way to
> make D more accessible for GPU-oriented programmers, I would think.
> Wrapping these libraries would probably be rather trivial. DirectX could
> of course be wrapped too, but I suppose a cross-platform interface would
> be better.

Have a look at Derelict: http://dsource.org/projects/derelict/
It wraps OpenGL, OpenAL and other game/multimedia related libraries.

> * Configuration:
>
> AFAIK, D has no standard way of doing configuration at the moment. I
> don't know whether people see this as a problem or not. On one hand,
> just asking some configuration parser to fetch values for you is very
> convenient, but on the other hand, people might not like having some
> sort of "official D configuration format". Personally, the former seems
> appealing to me, as configuration parsing is the last thing I want to
> work on in my projects. ;)

XML or JSON could be used for this.

> * Cryptography:
>
> D could definitely use more implementations of cryptographic algorithms.
> Wrapping OpenSSL might be a wise thing to do.
>
> * Compiler interface:
>
> Some primitive sort of interface to invoke the compiler on a set of
> files with certain options could be useful to invoke child processes
> with code compiled on the fly. This would of course demand that DMD is
> installed, but I don't think that's a problem for apps where doing this
> in the first place is a good idea.
>
> * Lexing and parsing:
>
> Standard facilities for these tasks could be very useful. Perhaps D
> could get its own dlex and dyacc or some such tools. Personally, I
> prefer sticking to LL(1), but LALR is generally more convenient and
> flexible, and thus I'd suggest something YACC/ANTLR-like.
>
> (I know this doesn't have much to do with Phobos per se, but I figured
> I'd mention it.)

I think someone is working on this.

> * Asynchronous sockets:
>
> For high-performance servers, asynchronous sockets utilizing
> functionality such as IOCP on Windows is important.
>
> * Audio/video:
>
> Interfaces to a library such as Libav could be included in Phobos.
>
> * Serialization:
>
> Some kind of serialization library could be useful. It could probably
> use compile-time reflection to figure out what kind of code to generate
> for a type, although my knowledge in D's CTR is not really sufficient to
> judge this.

I'm currently working on this: http://dsource.org/projects/orange/
There's a release available, but now I'm completely rewriting the library to support more types. D could use some better runtime reflection do better support serialization.

> --
>
> Personally, what I'd like to see done first would be native code
> generation, concurrency, and cryptography.
>
> - Alex


-- 
/Jacob Carlborg
July 31, 2011
On 31-07-2011 11:30, Anders Ahlstr�m wrote:
>> I'm new to D, but I guess I might be able to develop some sort of configuration
>> file library (supporting reading and writing values etc.). Do you guys have some
>> sort of preferences or should I just go with standard INI files?
>>
>> AFAIK, D supports XML already, which can be used for configuration files, but
>> sometimes something simpler can be convenient.

On 31-07-2011 11:44, Mirko Pilger wrote:
>> I'm new to D, but I guess I might be able to develop some sort of
>> configuration
>> file library (supporting reading and writing values etc.). Do you guys
>> have some
>> sort of preferences or should I just go with standard INI files?
>
> maybe boost::property_tree could be of some inspiration here:
>
> http://www.boost.org/doc/libs/1_47_0/doc/html/property_tree.html
>

That seems like a good idea! As the doc page suggests, we could store configuration in XML, JSON, INI, or whatever people would want to use in their application. Phobos AFAIK has facilities for JSON and XML. Not sure about INI, though.

- Alex
July 31, 2011
On 2011-07-31 07:27, Jonathan M Davis wrote:
> I think that it would be useful to query the community for what piece of
> library functionality they don't currently have in D and would most like to
> see. For instance, there is no official logging framework in D or any 3rd party
> libraries which do it AFAIK. So, that could be one type of functionality that
> you may like to see. Now, there is a prospective implementation for std.log
> which shouldn't be all that far away from being reviewed, so listing that here
> wouldn't be all that useful, since it's on its way. But what other major
> functionality do you miss in D that other languages' that you use have
> available in their libraries?
>
> My hope here would be that we could get some good ideas going here such that
> we have can have a better idea what type of functionality it would be
> particularly useful to be working on for Phobos or 3rd party D libraries for
> the community, and maybe it'll even get some people to actually go and work on
> these ideas so that we can improve the libraries that we have to work with in
> D. We can always use more help, and we definitely need a richer library
> ecosystem for D. But even just discussing ideas could be of benefit.
>
> So, what major functionality which we don't currently have would you like to
> see in either Phobos or in a 3rd party library so that you could use it in
> your D programs?
>
> - Jonathan M Davis

I personally would like to see DWT (GUI library, http://dsource.org/projects/dwt) in a more finished state. These are things that need work:

* Finishing the Mac OS X port
* Update to later SWT versions
* Fixing bugs
* Port to 64bit

Any help is much appreciated. Currently DWT is a low priority for me.

-- 
/Jacob Carlborg
July 31, 2011
On 31-07-2011 11:57, Jacob Carlborg wrote:
> Have a look at Derelict: http://dsource.org/projects/derelict/
> It wraps OpenGL, OpenAL and other game/multimedia related libraries.

That looks nice. Are there any plans for OpenCL support?

> I think someone is working on this.

I know of the Goldie project. Is this it?

> I'm currently working on this: http://dsource.org/projects/orange/
> There's a release available, but now I'm completely rewriting the library to support more types. D could use some better runtime reflection do better support serialization.

That looks like it's exactly what I had in mind. It would be great if something like that could make it into Phobos itself so it's more readily accessible for users.

- Alex
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11