Sorry for my delayed reply. When your message arrived, I had just
started sketching out a »Contributor's Guide« for LDC, but it seems
like I won't be able to complete it until the weekend or so.
Unfortunately, at this point, I can only give you a few assorted, partly
(still on the old
DSource wiki – but note the toChars()/dump() tip!)
(for DMD in general)
(tons of documentation for LLVM; really
There isn't really any documentation on the formal/community aspects of
contributing to LDC right now, but it's really just the same as for any
other open source projects: Pick a task, let other's know you are
working on it, discuss any problems on this mailing list, and then
submit your changes as a GitHub pull request.
In any case, Kai is right, the easiest way to get started is probably to
just pick an open issue and start working on it – at least I find this
to be the easiest way to get involved with new projects. Some issues you
might want to look into:
- Bugs from the old tracker at DSource: Go through all the open ones,
check if they are still present, and either fix them immediately or
migrate them to the GitHub issue tracker
). This is as demanding
as you want it to be, and would definitely help the project!
: Should be really
easy to implement, but could be nice to get accustomed to pull requests
and so on if you are not already familiar with GitHub.
- I just tagged a few issues on the GitHub tracker which I believe to
be quite isolated in nature as »junior jobs«:
These might also be a good starting point for digging into the inner
workings of the code generation process.
Oh, and the most important thing: If you get stuck, please feel free to
ask questions at any point – either here, or on IRC, if a dev happens
to be online (#ldc at freenode, #d for language questions)! This is
especially important for the DMD side of things, for which almost no
documentation exists at all…
Hope this helps,