Mention `HAIR` to clarify
This commit is contained in:
parent
8a3e706aca
commit
f31532d3b2
|
|
@ -14,6 +14,7 @@ list of items:
|
||||||
The lowering is triggered by calling the [`mir_built`] query.
|
The lowering is triggered by calling the [`mir_built`] query.
|
||||||
There is an intermediate representation
|
There is an intermediate representation
|
||||||
between [HIR] and [MIR] called the [THIR] that is only used during the lowering.
|
between [HIR] and [MIR] called the [THIR] that is only used during the lowering.
|
||||||
|
[THIR] means "Typed HIR" and used to be called "HAIR (High-level Abstract IR)".
|
||||||
The [THIR]'s most important feature is that the various adjustments (which happen
|
The [THIR]'s most important feature is that the various adjustments (which happen
|
||||||
without explicit syntax) like coercions, autoderef, autoref and overloaded method
|
without explicit syntax) like coercions, autoderef, autoref and overloaded method
|
||||||
calls have become explicit casts, deref operations, reference expressions or
|
calls have become explicit casts, deref operations, reference expressions or
|
||||||
|
|
|
||||||
|
|
@ -187,10 +187,10 @@ for different purposes:
|
||||||
- High-level IR (HIR): This is a sort of desugared AST. It's still close
|
- High-level IR (HIR): This is a sort of desugared AST. It's still close
|
||||||
to what the user wrote syntactically, but it includes some implicit things
|
to what the user wrote syntactically, but it includes some implicit things
|
||||||
such as some elided lifetimes, etc. This IR is amenable to type checking.
|
such as some elided lifetimes, etc. This IR is amenable to type checking.
|
||||||
- Typed HIR (THIR): This is an intermediate between HIR and MIR. It is like the HIR
|
- Typed HIR (THIR): This is an intermediate between HIR and MIR, and used to be called
|
||||||
but it is fully typed and a bit more desugared (e.g. method calls and implicit
|
High-level Abstract IR (HAIR). It is like the HIR but it is fully typed and a bit
|
||||||
dereferences are made fully explicit). Moreover, it is easier to lower to MIR
|
more desugared (e.g. method calls and implicit dereferences are made fully explicit).
|
||||||
from THIR than from HIR.
|
Moreover, it is easier to lower to MIR from THIR than from HIR.
|
||||||
- Middle-level IR (MIR): This IR is basically a Control-Flow Graph (CFG). A CFG
|
- Middle-level IR (MIR): This IR is basically a Control-Flow Graph (CFG). A CFG
|
||||||
is a type of diagram that shows the basic blocks of a program and how control
|
is a type of diagram that shows the basic blocks of a program and how control
|
||||||
flow can go between them. Likewise, MIR also has a bunch of basic blocks with
|
flow can go between them. Likewise, MIR also has a bunch of basic blocks with
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue