Skip to content
vic

fir-lang/fir

Fir programming language

fir-lang/fir.json
{
"createdAt": "2024-06-18T19:15:57Z",
"defaultBranch": "main",
"description": "Fir programming language",
"fullName": "fir-lang/fir",
"homepage": "https://fir-lang.github.io/",
"language": "Rust",
"name": "fir",
"pushedAt": "2025-11-24T20:04:21Z",
"stargazersCount": 81,
"topics": [
"programming-language"
],
"updatedAt": "2025-11-24T20:02:37Z",
"url": "https://github.com/fir-lang/fir"
}

Fir is a programming language with:

  • Static types and indentation sensitive syntax
  • Traits (typeclasses) for polymorphism
  • Monomorphisation and unboxed/value types
  • [Effects][effects]
  • [Built-in tooling][tooling] and a [large standard library][libs]

For introduction, see blog posts:

  • [Error handling in Fir][1]
  • [Throwing iterators in Fir][2]
  • [Fir is getting useful][3]

Implementation notes:

  • [How Fir formats comments][4]

[1] !: https://osa1.net/posts/2025-01-18-fir-error-handling.html [2] !: https://osa1.net/posts/2025-04-17-throwing-iterators-fir.html [3] !: https://osa1.net/posts/2025-09-04-fir-getting-useful.html [4] !: https://osa1.net/posts/2025-09-27-fir-formatter.html [tooling] !: https://github.com/fir-lang/fir/issues/28 [libs] !: https://github.com/fir-lang/fir/issues/76 [effects] !: https://osa1.net/posts/2025-06-28-why-effects.html