kubuszok/hearth

The first Scala macros' standard library

Scala

160

808 commits

updated Sep 11, 2026

See the code

README

Hearth logo

Hearth

CI build License Join the discussions at https://github.com/kubuszok/hearth/discussions

The first Scala macros' standard library.

Goals:

  • being able to build the code with Types, Exprs and high-level utilities that operate on them - limiting the need for AST and Symbols manipulation
  • cross-compilable API, allowing reuse of the macro code for both Scala 2 and Scala 3
  • exhaustive documentation lowering the barrier of entry
  • no dependencies on additional ecosystems (some FP-utilities are already provided!)
  • promote best-practices in macro development, to deliver great developer experience

Call for Feedback

Hearth is an evolution of the chimney-macro-commons idea, but one that could serve not only the Chimney but also any other library that uses macros.

The current version has all planned features, beside bugfixes no further changes will be made unless community will request for them or contribute them.

Please, take a look at Roadmap for more information about what is already done.

See Chimney, Kindlings, Pipez and Refined-compat for examples how Hearth can be used to implement a macro-powered library.

Contribution

If you want to help get this library released, first, thank you, and second, please see CONTRIBUTING.md.

macros
metaprogramming
scala
scala2
scala3
scalajs
scala-library
scala-macros
scala-native

Contributors

MateuszKubuszok

703 commits

scala-steward

84 commits

dependabot[bot]

18 commits

lgmyrek

3 commits

kubuszok/hearth

The first Scala macros' standard library

Scala

160

808 commits

updated Sep 11, 2026

See the code

README

Hearth logo

Hearth

CI build License Join the discussions at https://github.com/kubuszok/hearth/discussions

The first Scala macros' standard library.

Goals:

  • being able to build the code with Types, Exprs and high-level utilities that operate on them - limiting the need for AST and Symbols manipulation
  • cross-compilable API, allowing reuse of the macro code for both Scala 2 and Scala 3
  • exhaustive documentation lowering the barrier of entry
  • no dependencies on additional ecosystems (some FP-utilities are already provided!)
  • promote best-practices in macro development, to deliver great developer experience

Call for Feedback

Hearth is an evolution of the chimney-macro-commons idea, but one that could serve not only the Chimney but also any other library that uses macros.

The current version has all planned features, beside bugfixes no further changes will be made unless community will request for them or contribute them.

Please, take a look at Roadmap for more information about what is already done.

See Chimney, Kindlings, Pipez and Refined-compat for examples how Hearth can be used to implement a macro-powered library.

Contribution

If you want to help get this library released, first, thank you, and second, please see CONTRIBUTING.md.

macros
metaprogramming
scala
scala2
scala3
scalajs
scala-library
scala-macros
scala-native

Contributors

MateuszKubuszok

703 commits

scala-steward

84 commits

dependabot[bot]

18 commits

lgmyrek

3 commits

Languages

Scala

100.0%