-
Notifications
You must be signed in to change notification settings - Fork 13.3k
high-level rustc-guide docs on chalk-integration #55100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hello! I am available to help work on this! 😄 |
Here are some topics we could cover in a high-level overview...
Basically, cover the motivation and most basic concepts in the introduction, and the further chapters can flesh out those ideas in much greater detail (like they already do). Glossary terms: (many of these may link back to a page with more details)
As @nikomatsakis was saying, we may want to hop on a call to talk it over soon. |
Thanks for writing that up! These are great things to cover!
This is somewhat covered here:
We somewhat do this here, though not as much in prose:
I actually don't think we do this! Which is somewhat surprising given how fundamental it is. Great idea!
I definitely think these need to be defined. All of these are fundamental to understanding the way we communicate about chalk.
This is the issue title. Are we focusing on docs about chalk itself and its concepts, or about documenting the way that chalk is being integrated into the compiler so more people can contribute to it? |
Regarding where things are already covered, I did see those (thanks for adding pointers). IMHO one problem right now is that most of the knowledge is there, but split up in a way that it's hard to grasp the big picture. I think it makes sense to put them all together in a single introduction at a very high level of abstraction (hence my emphasis on prose – but I could be convinced otherwise). The old-style traits is eventually going away, so I personally think it's okay to repeat some stuff from there. Good point re: issue title! I may have misunderstood the original goal. In any case, those are my thoughts on how to better cover chalk concepts 😄 |
By this, do you mean the compiler's queries, or "trait queries"? The compiler's query system is introduced here: https://rust-lang-nursery.github.io/rustc-guide/query.html I think that the intended interaction between the compiler query system and the chalk trait engine is something we should talk through and document. To some extent, it's a work-in-progress =) |
Yes, trait queries is what I meant. On second thought, there should really be a focus on any “public” API (query or otherwise) that other parts of the compiler can use. IME, knowing exactly what the boundaries of a component are is just as important for understanding as knowing what’s in it. |
I just posted a PR to do some light editing and refactoring of the traits chapter: rust-lang/rustc-dev-guide#219 |
Okay, I put together a list of all the tasks I can think of. Some of these are quite simple, as they're just moving content around or copying it from @nikomatsakis blog posts :) If you want to work on something, simply edit this comment and put your name at the end of the line.
I think it helps to know what we're shooting for. Here's a strawman for the eventual structure. Please let me know what you think!
|
T-types triage: closing as it's not tracking anything particularly actionable. We can work on docs or open specific issues for things that should be documented. |
Maybe we should open an issue like this in rustc-dev-guide itself. |
The existing rustc-guide docs need some organization and love. Let's start with a high-level overview on the various moving parts and their relationship to one another.
The text was updated successfully, but these errors were encountered: