Stream: t-compiler/rust-analyzer

Topic: hir?

std::Veetaha (Jan 21 2020 at 12:02, on Zulip):

Can someone please explain what hir stands for? Where did these letters come from?

matklad (Jan 21 2020 at 12:04, on Zulip):

high-level intermediate language

matklad (Jan 21 2020 at 12:05, on Zulip):

This is the same term that rustc uses for a similar concept

matklad (Jan 21 2020 at 12:05, on Zulip):

Although, I actually like the new Kotlin term better: fir, where f stands for front-end

matklad (Jan 21 2020 at 12:06, on Zulip):

In general, the boundary around hir is much fuzzier than the boundary around syntax/macro expansion

matklad (Jan 21 2020 at 12:06, on Zulip):

Basically, everything whidh is above syntax and below specifc IDE features gets stuffed into hir

std::Veetaha (Jan 21 2020 at 12:47, on Zulip):

I am used to the abbreviation IL for intermediate language, though thanks for the clarification

Florian Diebold (Jan 21 2020 at 12:57, on Zulip):

well, high-level intermediate representation ;) ours isn't really a language anyway

matklad (Jan 21 2020 at 13:35, on Zulip):

@Florian Diebold wow, TIL that r in hir and mir does not stand for a language. Kind-of obvious in a hindsight

std::Veetaha (Jan 21 2020 at 16:22, on Zulip):

And could you please also clarify where do the letters of rowan come from? @matklad

matklad (Jan 21 2020 at 16:23, on Zulip):

rowan is based on swift libsyntax, which is based on Roslyn syntax trees. The Roslyn used red/green terminology to refer to node cursor/immutable nodes

matklad (Jan 21 2020 at 16:24, on Zulip):

and rowan is a red-green tree:

std::Veetaha (Jan 21 2020 at 16:26, on Zulip):

Oh, right, didn't expect rowan to be an independent word, but now it makes an elegant sense

Last update: Jul 27 2021 at 21:30UTC