DConf Hackathon Ideas
via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 28 02:52:29 PDT 2017
On Thursday, 27 April 2017 at 14:53:02 UTC, Mike Parker wrote:
> This year, DConf has an extra day tacked on for problem solving
> in the form of a hackathon. The intent is to work on issues
> people find frustrating in the D ecosystem. While there will be
> time given at the event for proposals, and those involving
> third-party projects are welcome, it will help speed things
> along for the organizers to come in with a list of big issues
> to get the ball rolling.
>
> To help in compiling the list, what are some major issues from
> the ecosystem that you'd like to see fixed?
Here's my wishlist:
D's @safe-ty story
DMD as a library (both frontend and backend):
* the backend usable as a JIT library.
* unittests (!= integration tests like those in
https://github.com/dlang/dmd/tree/master/test)
* fixing the GC interoperability (AFAIK, dmd currently can't use
the GC)
* less coupling (e.g. https://github.com/dlang/dmd/pull/6625)
* no use of global state, except in the compiler driver
* task-based parallelism
* better docs
etc.
D REPL based on dmd library. There were a couple of attempts
(e.g. https://github.com/callumenator/dabble,
https://github.com/MartinNowak/drepl), but as far I know, none of
them is using dmd as a library and I'm not sure how close they
are actually being useful.
AST introspection - given a function definition (!= declaration,
i.e. the body is available) f, the expression __traits(ast, f)
should return an instance of FuncDeclaration
(https://github.com/dlang/dmd/blob/197ff0fd84b7b101f47458ab06e5b6f95959941e/src/ddmd/astnull.d#L151) with all of its members filled. The class-es used to represent the AST should be plain old data types (i.e. should contain no functionality). The AST as produced by the parser should be returned, without any semantic analysis (which can modify it). No backwards compatibility guarantees should be made about __traits(ast, f) at least for a couple of years.
DMD usable as a library can help the various IDE projects improve
the user experience, which is major complaint of new comers (e.g.
better auto-completion, refactoring, etc).
AST introspection (in addition with the previous point) is needed
for D to remain competitive on the metaprogramming front with
other rising languages such as Jai or Nim.
I would love to meet and work with other people interested in
those areas at DConf.
More information about the Digitalmars-d
mailing list