Hearth aka the Scala unified macro for 2.13 and 3 has a new version out! 🎉
I'm definitely no macro expert, so go read the changelog yourself to see all the magic. 🪄 It's huge!
github.com/kubuszok/hea... #scala
Posts by Mateusz Kubuszok
When I also mention that I vibe coded Scala 3 plugin to use Scala Newtypes on Scala 3 (who knows, maybe it will even work!), this was my most productive conference so far!
github.com/kubuszok/sca...
@scalar-conf.com, most inspiring #scala conference!
I wanted to release Hearth 0.3.0 after Scala 3.3.8 is out, and Kindlings 0.1.0 after that.
But overwhelmingly positive reception (and a horse head in my bed) convinced my to release them much earlier, so...
Here are slides from by talk at @scalar-conf.com about #macros in #scala
mateuszkubuszok.github.io/ScalaStandar...
Last year:
- at @scalar-conf.com I introduced sanely-automatic derivation with macros
- at @scaladays.org I showed that macros in #scala can be tamed
Now: I wanted to repeat the latter prez but with recent developments I had to update it!
Join me on @scalar-conf.com to see new GOTY edition!
Thanks to Guo Yubin Chimney now supports NamedTuples!
Grab it at:
- github.com/scalalandio/...
- github.com/scalalandio/...
One more proof by construction that we can improve derivation in #scala with #macros:
github.com/nguyenyou implemented sanely automatic derivation for Circe, and got some really nice numbers.
github.com/nguyenyou/ci...
I was drinking beer and approving the runs on the phone (via Happy) xD What I saw was really encouraging. How encouraging?
This is what I have one week later:
github.com/MateuszKubus...
Last week I went out for a Friday night beer with friends, and left Claude running. After recent batches of improvements I hoped that Hearth was finally at the stage when I would be able to write a whole type class derivation with no bugs in my macro utilities. #scala #macros
I wish cross-compilable macros, with potential to provide UX that mops the floor with all these shapeless/mirrors based-libraries were not just a hypothetical possibility...
Oh, wait.
Scala 2.13: scastie.scala-lang.org/MateuszKubus...
Scala 3: scastie.scala-lang.org/MateuszKubus...
Claude just finished writing me a sbt codegen, which generates >17 000 lines of code of macros and compiler plugins... which would be expanded in other macros to provide cross-compilable type constructor representation.
When I started Hearth I didn't expect to go so meta
On this day ten years ago, I gave my first public presentation...
Fast forward ten years, I still suck :)
kubuszok.com/presentation...
🔍 A thoughtful, down-to-earth look at what a shared macro library could mean for Scala developers.
Here’s "Can we have the Standard Library for Macros?" by Mateusz Kubuszok
🔍 A thoughtful, down-to-earth look at what a shared macro library could mean for Scala developers.
Here’s "Can we have the Standard Library for Macros?" by Mateusz Kubuszok
New video, with Łukasz Biały from @scala_space!
https://www.youtube.com/watch?v=K_omndY1ifI
@scaladays.org videos are online!
If you wish #scala #macros were a bit easier, and wonder what "this Hearth library" is about, go see:
youtu.be/VOdeXTpw3m0
Scala Times Issue #604 - scalatimes.com/f99e9094b8
Hearth 0.2.0 just dropped continuing the quest for user-friendly macros. #scala #macros
github.com/MateuszKubus...
Welcome Mateusz Kubuszok as the #Scalarconf 2026 speaker!
🎙️ Can we have the Standard Library for Macros?
🎟️ Grab your ticket here: scalar-conf.com/tickets
#scala #scalarconf #functionalprogramming
This is probably the most complete tutorial on typeclasses in Scala 3, it's basically a short book. Bookmark it, as it has everything: givens, derivation, mirrors, inline defs, macros... you name it. #scala kubuszok.com//2025/sanely...
#scala #metaprogramming #typeclasses because, of course, I forgot
It also reminded my why, I stopped - putting everything I know into 1 writeup is such a PITA but I do not want it any other way.
Chimney 2.0.0-M2 for 2.13.17+ and 3.7+ just landed!
* sanely-automatic derivation backported to 2.13
* aligned with featues/bugfixes up till 1.8.2
Try out, if you had any issues with semiauto on Scala 3.7 or if you want to test sanely-auto on 2.13!
github.com/scalalandio/...
Great thanks to all organizers of @scalaio.bsky.social! It was a great experience I am happy I could be there.
Can we have the Standard Library for Macros? (@kubuszok.com): makes simple things simple, and hard things (at least) possible 🚀
Event Sourcing is just a foldLeft on Events and a decide function! Or is it? (Matthieu Baechler & Thomas Hilaire): master of immutability but UPDATE db all day long ? 👀
Thank you everyone who came to my talk at @scaladays.org ! It was amazing to be here!
You can find my slides at mateuszkubuszok.github.io/ScalaStandar...