-
Notifications
You must be signed in to change notification settings - Fork 541
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
improve glossary page #1053
improve glossary page #1053
Conversation
Fixes #1041 |
FWIW, CI is complaining that some lines are too long (over 100 characters). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for doing this ❤️ ! There are a few bad cuts (which was to be expected when handling this amount of text 😄) that I would like you to fix. The rest are just nits and improvements that have nothing to do with actually fixing the glossary. It would be awesome if you can also resolve them but feel free to just ignore them.
(Also sorry for being a bit... crude in the end of the review, I was low on time 😅)
src/appendix/glossary.md
Outdated
\|`a`\|`...` is a binder for the parameter `a`. See [the background chapter for | ||
more](./background.md#free-vs-bound). | ||
|
||
#### BodyId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit:
#### BodyId | |
#### `BodyId` |
src/appendix/glossary.md
Outdated
|
||
#### codegen | ||
|
||
The code to translate MIR into LLVM IR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could maybe be added, but I'm not even sure it's correct. No need to change this for now
The code to translate MIR into LLVM IR. | |
The code to translate MIR into LLVM IR. Short for "code generation". |
src/appendix/glossary.md
Outdated
|
||
A technical term in type theory, it means that every type-safe program also | ||
type-checks. Having both soundness and completeness is very hard, and usually | ||
soundness is more important. (see "soundness"). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a link for soundness here would be great
src/appendix/glossary.md
Outdated
control-flow of a program; see [the background chapter for | ||
more](./background.md#dataflow). | ||
|
||
#### DefId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#### DefId | |
#### `DefId` |
src/appendix/glossary.md
Outdated
The High-level IR, created by lowering and desugaring the AST. | ||
([see more](../hir.md)) | ||
|
||
#### HirId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#### HirId | |
#### `HirId` |
src/appendix/glossary.md
Outdated
#### substs | ||
|
||
The substitutions for a given generic type or item (e.g. the `i32`, `u32` in | ||
`HashMap<i32, u32>`). sysroot">sysroot The directory for build artifacts that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here
src/appendix/glossary.md
Outdated
(actually not an acronym :P)An open-source compiler backend. It accepts LLVM IR | ||
and outputs native binaries. Various languages (e.g. Rust) can then implement a | ||
compiler front-end that outputs LLVM IR and use LLVM to compile to all the | ||
platforms LLVM supports. memoization">memoization The process of storing the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here
src/appendix/glossary.md
Outdated
instantiating them with concrete types. For example, in the code we might have | ||
`Vec<T>`, but in the final executable, we will have a copy of the `Vec` code for | ||
every concrete type used in the program (e.g. a copy for `Vec<usize>`, a copy | ||
for `Vec<MyStruct>`, etc). normalize">normalize A general term for converting to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here
src/appendix/glossary.md
Outdated
#### obligation | ||
|
||
Something that must be proven by the trait system. ([see | ||
more](../traits/resolution.md)) placeholder">placeholder **NOTE: skolemization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here
src/appendix/glossary.md
Outdated
#### polymorphize | ||
|
||
An optimization that avoids unnecessary monomorphisation. ([see | ||
more](../backend/monomorph.md#polymorphization)) projection">projection A |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here
@LeSeulArtichaut Hi! Thanks for your detailed review! This work should be made with a text manipulation tool (maybe awk or perl? ), but I'm not familiar with such tools then I do it by hand, thus there are really a lot of mistakes, sorry! I have applied all your suggestions and add a few links. After this PR, I will learn more hacker tools 😄 |
I found Travis-CI is much slower than github actions, so why not github actions? |
We're actually considering this transition, see #940 |
Fixes #1054 |
I edited the PR description to add that. (GitHub won't recognize it if it's in a comment.) |
@camelid Thanks! Tips learned. Could anyone review this? I have carefully checked the text so it won’t be much work 😄 |
@VitalyAnkh do you have suggestions for reviewing this? It's hard to see what's actually changed because there's so much 😅 If you have a script you used to make the changes that would also be helpful. |
@jyn514 Actually I don't have a script 😂 I use Emacs to search and replace the most unnecessary text and do the rest work (add newlines, delete |
I will re-do it using a python script. Thank you, all the kind rustaceans here! |
Going to close this as it's been sitting for a while, and it largely conflicts with the changes from #1146. @VitalyAnkh maybe you can re-add your changes that address #1054 in a new PR? |
Fixes #1041, fixes #1054