Skip to content
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

Closed
wants to merge 9 commits into from
Closed

improve glossary page #1053

wants to merge 9 commits into from

Conversation

VitalyAnkh
Copy link

@VitalyAnkh VitalyAnkh commented Feb 13, 2021

Fixes #1041, fixes #1054

@VitalyAnkh VitalyAnkh changed the title fix #1104 fix #1041 Feb 13, 2021
@VitalyAnkh
Copy link
Author

Fixes #1041

@LeSeulArtichaut
Copy link
Contributor

FWIW, CI is complaining that some lines are too long (over 100 characters).

Copy link
Contributor

@LeSeulArtichaut LeSeulArtichaut left a 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 😅)

\|`a`\|`...` is a binder for the parameter `a`. See [the background chapter for
more](./background.md#free-vs-bound).

#### BodyId
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit:

Suggested change
#### BodyId
#### `BodyId`


#### codegen

The code to translate MIR into LLVM IR.
Copy link
Contributor

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

Suggested change
The code to translate MIR into LLVM IR.
The code to translate MIR into LLVM IR. Short for "code generation".


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").
Copy link
Contributor

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

control-flow of a program; see [the background chapter for
more](./background.md#dataflow).

#### DefId
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### DefId
#### `DefId`

The High-level IR, created by lowering and desugaring the AST.
([see more](../hir.md))

#### HirId
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### HirId
#### `HirId`

#### 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here

(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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here

#### obligation

Something that must be proven by the trait system. ([see
more](../traits/resolution.md)) placeholder">placeholder **NOTE: skolemization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here

#### polymorphize

An optimization that avoids unnecessary monomorphisation. ([see
more](../backend/monomorph.md#polymorphization)) projection">projection A
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here

@VitalyAnkh
Copy link
Author

@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 😄

@VitalyAnkh
Copy link
Author

I found Travis-CI is much slower than github actions, so why not github actions?

@LeSeulArtichaut
Copy link
Contributor

I found Travis-CI is much slower than github actions, so why not github actions?

We're actually considering this transition, see #940

@VitalyAnkh
Copy link
Author

Fixes #1054

@VitalyAnkh VitalyAnkh changed the title fix #1041 improve glossary page Feb 14, 2021
@camelid
Copy link
Member

camelid commented Feb 14, 2021

Fixes #1054

I edited the PR description to add that. (GitHub won't recognize it if it's in a comment.)

@VitalyAnkh
Copy link
Author

@camelid Thanks! Tips learned. Could anyone review this? I have carefully checked the text so it won’t be much work 😄

@jyn514
Copy link
Member

jyn514 commented Feb 14, 2021

@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.

@VitalyAnkh
Copy link
Author

@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 <span> id...) by hand.

@VitalyAnkh
Copy link
Author

VitalyAnkh commented Feb 15, 2021

@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.

I will re-do it using a python script. Thank you, all the kind rustaceans here!

@igaray igaray added the S-waiting-on-author Status: this PR is waiting for additional action by the OP label Feb 21, 2021
@rylev
Copy link
Member

rylev commented Jul 4, 2021

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?

@rylev rylev closed this Jul 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: this PR is waiting for additional action by the OP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Where to find the doc of Span datatype? Glossary page is corrupted
6 participants