Compiler/Contributor primer, etiquette, resources

I want to start this conversation to discuss and suggest ways to make contributions to the compiler (and core libs) more approachable. While the compiler itself is probably one of the more approachable open source projects, improving in this category can help both attract long term experienced contributors, but also encourage the less experienced people to get into compilers and shrink the github issues category, when they encounter something that’s low priority for the maintainers but of big importance for them.

Some initial suggestions for articles / forum posts that I’m thinking could help people are

  • Compiler development category on forum similar to Explain : this is the lower effort one, as people can help eachother and find resources much easier than the discord category.
  • Abstract: useful resources, books, articles for general frontend/backend compiler development (not written for odin, just a small list of what’s out there and what one can search for)
  • Introduction to the compiler design/architecture: what are it’s building blocks? Where are they located in terms of files? (where does the type checking happening, for example). What are some of the “crucial” procedures that one can look at as entry points in these blocks (ex: where does the compiler start/end the parsing stage)
  • Compilation flow: we understand that the compiler frontend is multithreaded, but what does that actually mean? An explanation of what makes it out-of-order checking, and how do the parsing/type-checking stages intertwine.

For people that want to help with the standard library:

  • an official list of planned/suggested/in-development packages

Etiquette, social, communication issues

Not all contributions and discussions in open source will be of value, and i think it’s important for people like me and others that want to contribute more to the project to figure out the best way to not waste the time of the more established contributors, so suggestions in this category are welcome. This project so far has some of the friendliest maintainers out there, so let’s not frustrate them :slight_smile: . For example, knowing who is more/less willing to help around the people newer to compilers would be a start.

4 Likes

A forum thread dedicaced to Odin development would be nice.

3 Likes