tweag / pirouette

Language-generic workbench for building static analysis
MIT License
47 stars 2 forks source link

Introduce a high-level document of Pirouette's design #184

Closed Niols closed 1 year ago

Niols commented 1 year ago

This PR introduces a design document for Pirouette. The goal of this document is to provide what would be needed for someone to onboard on the project, that is a helping hand to get a high-level overview of what Pirouette does and how the code is organised, as well as pointers to the parts of the code that are interesting to read first to get acquainted with the code base. The document is far from being in its final form, but I suggest the following workflow from now onwards:

  1. We review this document with two goals in mind: to improve the readability of what is already in there and to note what is missing. In particular, don't hesitate to ask me questions; if I find the answer easy, I can add that as part of this PR; otherwise, we can consider it as something missing.

  2. For every missing thing that is not trivial to fix, and in particular for every missing thing that involves a non-negligible amount of text to add, we add an issue.

  3. We merge this pull request. The goal is to have a maybe-incomplete-but-anyways-very-readable document.

  4. We tackle the issues one by one in subsequent pull requests, adding all the missing content.

If the workflow sounds good to you, let's proceed. The PR is based on #183 which we should merge in a first step.

Niols commented 1 year ago

No more activity, and I think the state of this PR is good enough to be merged. I suggest to move subsequent improvements to the document to other PRs and I'm merging this.