Sign in

Mateusz Kubuszok

@kubuszok.com
221 followers 63 following 56 posts

Hearth Core Macro Hacker Blog @ kubuszok.com JVM-Scala Book @ leanpub.com/jvm-scala-book Chimney @ chimney.scalaland.io

PostsRepliesMedia
Mateusz Kubuszok @kubuszok.com · 23h
So... tomorrow Sonatype publishing limits start being applied. I've got quota increate as OSS, which lets me afford as much as 1 Hearth+Kindlings release per month. Need to spend it wisely!
000
Reposted by Mateusz Kubuszok
Scala Days @scaladays.org · 24/09/2026
Mateusz Kubuszok shares the engineering lessons behind SGE, covering Java ecosystem porting, cross-platform tooling, Scala Native, and native dependencies. Learn more: scaladays.org/sessio... 12-13 October. Berlin
Promotional graphic with a portrait of a speaker, a “SPEAKER” label on the left, “ Mateusz Kubuszok” on top, with the ScalaDays logo at the bottom.Red promotional graphics with a white “left Bracket” icon. Text reads: Scala’s LibGDX: A Report from the TrenchesRed promotional graphics for ScalaDays, featuring a large white “left bracket”. Text reads: 2026 Scala Days Berlin, with the ScalaDays icon in the top right.
011
Mateusz Kubuszok @kubuszok.com · 02/09/2026
Chimney 2.0.0-RC1 just dropped, with the final improvements and targeting 3.9.0 - if no serious issues are found it will be promoted to 2.0.0! github.com/scalalandio/...
github.com
Release v2.0.0-RC1 · scalalandio/chimney
Important Since Chimney got affected by 3.7.0 change in givens resolution we had to analyze the possible ways of fixing the issue. While there is a temporary workaround the proper fix requires rele...
020
Reposted by Mateusz Kubuszok
Matej Cerny @matejcerny.bsky.social · 03/08/2026
There is a new #Scala 3 optics library worth checking out: cats-eo. It unifies optic families under a single trait, features macro derivation backed by Hearth and delivers massive performance gains (such as traversals running up to 11x faster compared to Monocle).
121
Mateusz Kubuszok @kubuszok.com · 14/07/2026
This migration was an opportunity to benchmark the compilation and improve a thing or 2 in Hearth, so we're dropping new releases of: Hearth: github.com/kubuszok/hea... Kindlings: github.com/kubuszok/kin...
github.com
Release 0.4.1 - Compile-Time Performance, 30+ Fixes, and copyMethod / Expr.annotated / Type.Lazy APIs · kubuszok/hearth
0.4.1 is a polish and quality-of-life release. Chimney is now Hearth-powered — and it got there on 0.4.0, without waiting for anything in this release; where it met a rough edge it simply worked ar...
000
Mateusz Kubuszok @kubuszok.com · 14/07/2026
New Chimney(s) dropped: 1.x line supporting 2.12/2.13/3.3: github.com/scalalandio/... and 2.0.0-M4 supporting 2.13/3.8 freshly migrated to Hearth: github.com/scalalandio/...
github.com
Release v1.11.0 · scalalandio/chimney
NoteThis release was sponsored completely by users' contributions! It will also probably be the last release in 1.x line where I contributed anything, and where changes were ported into the 2.x lin...
000
Mateusz Kubuszok @kubuszok.com · 26/06/2026
Hearth 0.4.0 once again is pushing the limits of what you can do with macros (without going insane): - reworked method callers that could let you build every call - expression destructuring enabling quicklens-like patterns - creating anonymous instance of an arbitrary type
100
Mateusz Kubuszok @kubuszok.com · 19/06/2026
There was no e-mail, and I learned it by accident, but I feel all #Scala OSS devs should learn ASAP: Maven is introducing publishing limits. We most likely will have to apply for exemption: - www.sonatype.com/blog/open-pu... - central.sonatype.org/publish/mave...
sonatype.com
Open Publishing, Commercial Scale
Open source registries are evolving for commercial-scale use. Learn why Maven Central publishing limits aim for open access and sustainable infrastructure.
121
Mateusz Kubuszok @kubuszok.com · 11/06/2026
Today we managed to push out Hearth 0.3.1 with support for evaluating Expr values without an actual compilation (semiEval). github.com/kubuszok/hea...
github.com
Release 0.3.1 - Expr.semiEval, Type.CtorK1, JDK Futureproofing, and a New Logo · kubuszok/hearth
The 0.3.1 release adds a few things to the 0.3.x line, that I didn't waned to wait with, but also ones that should not break existing libraries based on 0.3.0. (More exciting things to come in 0.4....
100
Mateusz Kubuszok @kubuszok.com · 27/05/2026
The recording of my @scalar-conf.com presentation about civilising #macros in #Scala is online! youtu.be/Hbknc_dc4KQ
youtu.be
Can we have the Standard Library for Macros? by Mateusz Kubuszok | Scalar 2026
YouTube video by SoftwareMill
000
Reposted by Mateusz Kubuszok
Matej Cerny @matejcerny.bsky.social · 02/04/2026
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
github.com
Release 0.3.0 - Standard Extensions, Union Types, Rules, Flame Graphs, MIO Timeouts, hearth-munit, and Much More · kubuszok/hearth · GitHub
This is the biggest Hearth release so far: a major feature release that introduces Standard Extensions — a pluggable type-inspection framework — along with union types support, rule-based derivatio...
021
Mateusz Kubuszok @kubuszok.com · 27/03/2026
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...
121
Mateusz Kubuszok @kubuszok.com · 27/03/2026
Here are slides from by talk at @scalar-conf.com about #macros in #scala mateuszkubuszok.github.io/ScalaStandar...
mateuszkubuszok.github.io
Can we have the Standard Library for Macros?
020
Mateusz Kubuszok @kubuszok.com · 25/03/2026
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!
010
Mateusz Kubuszok @kubuszok.com · 10/03/2026
Thanks to Guo Yubin Chimney now supports NamedTuples! Grab it at: - github.com/scalalandio/... - github.com/scalalandio/...
github.com
Release v1.9.0 · scalalandio/chimney
Changelog: Add supports for NamedTuple (#766). by @ETCHKILI in #852
010
Mateusz Kubuszok @kubuszok.com · 06/03/2026
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...
github.com
GitHub - nguyenyou/circe-sanely-auto: Sanely-automatic Encoder/Decoder derivation for Circe on Scala 3
Sanely-automatic Encoder/Decoder derivation for Circe on Scala 3 - nguyenyou/circe-sanely-auto
010
Mateusz Kubuszok @kubuszok.com · 27/02/2026
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
100
Mateusz Kubuszok @kubuszok.com · 22/02/2026
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...
010
Mateusz Kubuszok @kubuszok.com · 18/02/2026
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
040
Mateusz Kubuszok @kubuszok.com · 28/01/2026
On this day ten years ago, I gave my first public presentation... Fast forward ten years, I still suck :) kubuszok.com/presentation...
kubuszok.com
My presentations
Personally, just a
020
Reposted by Mateusz Kubuszok
Scala Days @scaladays.org · 12/12/2025
🔍 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
youtube.com
Mateusz Kubuszok: Can we have the Standard Library for Macros? [Scala Days 2025]
Do you like it when compiler generates the boring code for you? Fast, mundane, boring-but-error-prone code? Do you need to implement such a code generator yourself? Have you found out that Shapeless/Mirrors bend your brain a bit too much? Congratulations! You might have a valid use case for writing
011
Reposted by Mateusz Kubuszok
The Scala Programming Language @scala-lang.org · 12/12/2025
🔍 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
youtube.com
Mateusz Kubuszok: Can we have the Standard Library for Macros? [Scala Days 2025]
Do you like it when compiler generates the boring code for you? Fast, mundane, boring-but-error-prone code? Do you need to implement such a code generator yourself? Have you found out that Shapeless/Mirrors bend your brain a bit too much? Congratulations! You might have a valid use case for writing
021
Reposted by Mateusz Kubuszok
Jakub Kozłowski @kubukoz.mstdn.party.ap.brid.gy · 06/12/2025
New video, with Łukasz Biały from @scala_space! www.youtube.com/watch?v=K_omndY1ifI
011
Mateusz Kubuszok @kubuszok.com · 26/11/2025
@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
youtu.be
Mateusz Kubuszok: Can we have the Standard Library for Macros? [Scala Days 2025]
YouTube video by Scala Days Conferences
072
Reposted by Mateusz Kubuszok
Scala Times @scalatimes.com · 22/11/2025
Scala Times Issue #604 - scalatimes.com/f99e9094b8
032
Mateusz Kubuszok @kubuszok.com · 20/11/2025
Hearth 0.2.0 just dropped continuing the quest for user-friendly macros. #scala #macros github.com/MateuszKubus...
github.com
Release 0.2.0 - Overall improvements, ValDefs builders and cache, Better Printers, more robust Cross Quotes and More · MateuszKubuszok/hearth
This release delivers the full scope planned for the 0.2.x milestone: refining everything introduced in 0.1.0, strengthening stability, improving ergonomics, and expanding documentation and tooling...
020
Reposted by Mateusz Kubuszok
Scalar Conference @scalar-conf.com · 17/11/2025
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
071
Reposted by Mateusz Kubuszok
Matej Cerny @matejcerny.bsky.social · 04/11/2025
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...
051
Mateusz Kubuszok @kubuszok.com · 03/11/2025
#scala #metaprogramming #typeclasses because, of course, I forgot
030
Mateusz Kubuszok @kubuszok.com · 03/11/2025
I haven't blogged in a while, but this needed to be written: kubuszok.com/2025/sanely-...
kubuszok.com
Sanely-automatic derivation - or how type class derivation works and why everyone else is doing it wrong
In Scala, we generate quite a lot of code. A lot of that involves the compiler generating so-called type class instances. This mechanism is quite widespread, yet, very few people actually understand i...
151
Mateusz Kubuszok @kubuszok.com · 21/10/2025
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/...
github.com
Release v2.0.0-M2 · scalalandio/chimney
Important Since Chimney got affected by 3.7.0 change in givens resolution we had to analyze the possible ways of fixing the issue. While there is a temporary workaround the proper fix requires rele...
000
Mateusz Kubuszok @kubuszok.com · 18/10/2025
Great thanks to all organizers of @scalaio.bsky.social! It was a great experience I am happy I could be there.
030
Mateusz Kubuszok @kubuszok.com · 03/10/2025
The first release is done, better macros are possible github.com/MateuszKubus...
github.com
Release 0.1.0 - Inintial release · MateuszKubuszok/hearth
It took longer than I hoped but 0.1.0 is live and with some scaffolded documentation. There are some gaps in the documentation, e.g. no examples for utilities usage, no mention of sources and debug...
020
Reposted by Mateusz Kubuszok
Scala.IO @scalaio.bsky.social · 25/09/2025
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 ? 👀
021
Mateusz Kubuszok @kubuszok.com · 21/08/2025
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...
040
Mateusz Kubuszok @kubuszok.com · 10/08/2025
That #Scala code does something, that many considered impossible. Could you guess why? github.com/MateuszKubus...
github.com
hearth/hearth-tests/src/main/scala/hearth/demo/ShowMacrosImpl.scala at f4b7828eaecd6b154514832a51b1756f6a29fd37 · MateuszKubuszok/hearth
The first Scala macros' standard library. Contribute to MateuszKubuszok/hearth development by creating an account on GitHub.
132
Mateusz Kubuszok @kubuszok.com · 16/07/2025
If you're missing some feature in Chimney - contribute it! github.com/scalalandio/...
github.com
The future of Chimney · scalalandio chimney · Discussion #762
TL;DR - I intent to develop only what is necessary to keep the library working (when changes in the compiler would make the currently working code make it no-longer working code, like with 3.7-give...
031
Mateusz Kubuszok @kubuszok.com · 16/07/2025
Some time ago I made a presentation that wasn't recorded... But at least some of the points from it could be showcased with this gist gist.github.com/MateuszKubus...
gist.github.com
Newtypes and tagged types
Newtypes and tagged types. GitHub Gist: instantly share code, notes, and snippets.
021
Mateusz Kubuszok @kubuszok.com · 30/05/2025
It seems #Scala folks are interested in macros once more! So, let's meet at the @scaladays.org 2025 to talk why we would want some standard library for them and how!
Scala Days 2025
Can we have the Standard Library for Macros
Mateusz Kubuszok
8.21.2025 | Track 4, 11am, Hall 1
050
Mateusz Kubuszok @kubuszok.com · 21/05/2025
I had hardly any exposure to Apache Spark, and Databricks is mostly irrelevant to me... Still I am curious why nobody in my circle noticed that Databricks released runtime for Scala 2.13. Now only sbt is the reason to keep publishing for 2.12 docs.databricks.com/aws/en/relea...
docs.databricks.com
Databricks Runtime 16.4 LTS | Databricks Documentation
Release notes about Databricks Runtime 16.4 LTS, powered by Apache Spark.
010
Reposted by Mateusz Kubuszok
Scala Space @scalaspace.bsky.social · 13/05/2025
🚀 Metals v1.5.3 is here! Introducing: - MCP server support for AI agents - new inlay hints for named/by-name parameters -improved test discovery for ZIO - better auto-fill arguments - using directives worksheet support. Try it now! #Scala #IDE scalameta.org/metals/blog...
053
Mateusz Kubuszok @kubuszok.com · 08/05/2025
If you've been affected by Scala 3.7.0 given resolution change, and Chimney started failing in some case - try out 2.0.0-M1. github.com/scalalandio/...
github.com
Release v2.0.0-M1 · scalalandio/chimney
Important Since Chimney got affected by 3.7.0 change in givens resolution we had to analyze the possible ways of fixing the issue. While there is a temporary workaround the proper fix requires rele...
100
Reposted by Mateusz Kubuszok
Scalar Conference @scalar-conf.com · 14/04/2025
Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation by @kubuszok.com Subscribe to our our YouTube channel so you don't miss the rest of #scalarconf videos.
youtube.com
Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation
YouTube video by SoftwareMill
031
Reposted by Mateusz Kubuszok
Matej Cerny @matejcerny.bsky.social · 11/04/2025
Really interesting comparison between automatic vs. semi-automatic type class derivation and their impact on performance. #scala youtu.be/M54ux51H6Fo
youtu.be
Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation
032
Reposted by Mateusz Kubuszok
Scala Space @scalaspace.bsky.social · 10/04/2025
As promised we are working hard on providing you with the Scala MCP server, we already have a WiP pull request ready and some courageous souls are actually testing it! You can take a look and already give some feedback at github.com/scalameta/m...
github.com
WIP: MCP support by kasiaMarek · Pull Request #7390 · scalameta/metals
resolves: scalameta/metals-feature-requests#430
071
Reposted by Mateusz Kubuszok
Scala Space @scalaspace.bsky.social · 02/04/2025
With our new Scala MCP server we are able to eliminate hallucinations and unproductive guesswork for code that LLMs aren't familiar with by exposing API shapes from the caches of Metals and the Scala compiler.
112
Mateusz Kubuszok @kubuszok.com · 28/03/2025
Thank you @scalar-conf.com for yet another amazing conference and for having me there! See you next year!
141
Mateusz Kubuszok @kubuszok.com · 15/03/2025
Scala 3.7.0-RC1: Expr.summonIgnoring works! (vide github.com/scala/scala3...) I updated my benchmarks, now I'll have to update my slides for Scalar
github.com
Proposal: Add Expr.summonIgnoring method to use in macros · scala scala3 · Discussion #21909
Motivation: Typeclass derivation libraries have long been using the implicit resolution feature in scala. It: allows for easier developer experience where derivation library designers are able comp...
030
Reposted by Mateusz Kubuszok
Scala Space @scalaspace.bsky.social · 20/02/2025
Scala Projects Maintenance Survey results, still fresh from the oven are there! With over 100 responses from tech leaders and managers from our community to shed some light on how Scala fares. (1/4)
142
Mateusz Kubuszok @kubuszok.com · 23/01/2025
Chimney 1.7.0 with: - transformation from more than 1 value - recursive Patchers - and much more! Easily one of top 3 Chimney releases (next to 0.8.0 - with Scala 3 support - and 1.0.0 - with stable API) github.com/scalalandio/...
github.com
Release v1.7.0 · scalalandio/chimney
This big release bring some long-awaited features: transformations, which take more than 1 case class as input (well, not only case classes 😄 ) and improved Patchers which handle: recursive patchin...
081