Mention `HAIR` to clarify

This commit is contained in:
Yuki Okushi 2020-08-02 09:37:43 +09:00 committed by Who? Me?!
parent 8a3e706aca
commit f31532d3b2
2 changed files with 5 additions and 4 deletions

View File

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

View File

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