Skip to content

Commit 169cdeb

Browse files
committed
Add a few more terms to the glossary
1 parent 4357cf5 commit 169cdeb

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/glossary.md

+3
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,16 @@ node-id or NodeId | an index identifying a particular node in the AST or
2424
obligation | something that must be proven by the trait system ([see more](trait-resolution.html))
2525
provider | the function that executes a query ([see more](query.html))
2626
query | perhaps some sub-computation during compilation ([see more](query.html))
27+
region | another term for "lifetime" often used in the literature and in the borrow checker.
2728
sess | the compiler session, which stores global data used throughout compilation
2829
side tables | because the AST and HIR are immutable once created, we often carry extra information about them in the form of hashtables, indexed by the id of a particular node.
30+
sigil | like a keyword but composed entirely of non-alphanumeric tokens. For example, `&` is a sigil for references.
2931
soundness | soundness is a technical term in type theory. Roughly, if a type system is sound, then if a program type-checks, it is type-safe; i.e. I can never (in safe rust) force a value into a variable of the wrong type. (see "completeness").
3032
span | a location in the user's source code, used for error reporting primarily. These are like a file-name/line-number/column tuple on steroids: they carry a start/end point, and also track macro expansions and compiler desugaring. All while being packed into a few bytes (really, it's an index into a table). See the Span datatype for more.
3133
substs | the substitutions for a given generic type or item (e.g. the `i32`, `u32` in `HashMap<i32, u32>`)
3234
tcx | the "typing context", main data structure of the compiler ([see more](ty.html))
3335
'tcx | the lifetime of the currently active inference context ([see more](ty.html))
36+
token | the smallest unit of parsing. Tokens are produced after lexing ([see more](the-parser.html)).
3437
trans | the code to translate MIR into LLVM IR.
3538
trait reference | a trait and values for its type parameters ([see more](ty.html)).
3639
ty | the internal representation of a type ([see more](ty.html)).

0 commit comments

Comments
 (0)