GSoC Project Idea's Part 2

Seb via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 8 21:12:32 PST 2017


On Friday, 3 February 2017 at 04:12:10 UTC, Craig Dillabaugh 
wrote:

> So new project ideas are welcome, and feel free to post any 
> ideas you have here for comment.

A couple of random ideas:

Compilation cache and parallel compilation
------------------------------------------

For bigger projects with more than 200k LoC (e.g. Weka) the 
compilation time gets quite noticeable.
One idea to speed up the compilation of a new run of DMD is to 
reuse a dump of the AST of the previous build.
In this spirit, Rust has quite recently introduced incremental 
compilation: 
https://blog.rust-lang.org/2016/09/08/incremental.html
Moreover, DMD runs single-threaded and there isn't a good way to 
parallelize a project than to split it into multiple sub packages.

High-level shared library implementation
----------------------------------------

Existing work: https://github.com/dlang/druntime/pull/617

betterC
-------

Better support for C-style libraries with light or no runtime.

Revive old DIPs
---------------

There are many DIPs that contain awesome ideas and just wait for 
someone to champion them.

https://wiki.dlang.org/DIPs

A couple of interesting DIPS:

- RC objects: https://wiki.dlang.org/DIP77
- Tuples: https://wiki.dlang.org/DIP32
- Assert diagnostics: https://wiki.dlang.org/DIP83
- Named parameters: https://wiki.dlang.org/DIP88 (see also: 
https://github.com/dlang/DIPs/pull/22)
- Negation of attributes: https://wiki.dlang.org/DIP79
- Multiple alias this: https://wiki.dlang.org/DIP66
- Static inheritance: https://wiki.dlang.org/DIP84

Vibe.d
------

Probably the flagship library in the D universe.

- Load balancer with support for seemless recompile (vibedist)
- Add support for HTTP/2 
(https://github.com/rejectedsoftware/vibe.d/pull/1160)
- http.rest: Add automatic documentation generation
- http.rest: Provide new REST generator 
(https://github.com/rejectedsoftware/vibe.d/issues/1040)
- Asynchronous file I/O
- Add support for the Stream Control Transmission Protocol (SCTP) 
and Google's QUIC


More information about the Digitalmars-d mailing list