What library functionality would you most like to see in D?

Jacob Carlborg doob at me.com
Sun Jul 31 02:57:33 PDT 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


More information about the Digitalmars-d mailing list