Researcher in CS, Scala 3 Compiler Engineer & Team Lead @epfl, Serves on the Scala Core Team and SIP committee. Agonizes over Effects, Capabilities & Ownership.
Our TACIT paper received a Best Paper Award @CAISconf!
Don’t just trust agents to use tools safely: have them generate code, check it before it runs, and use Scala capture checking to track which capabilities it may use or retain.
Type-safe AI infrastructure FTW.
How can we ensure critical safety properties of AI agents? Like, no API keys leaked, no prompt injection, no data loss? It's a hard question which will require fundamentally rethinking the way we build modular software. We have an answer in our paper "Tracking Capabilities for Safer Agents" https://t.co/1lYxokDRQv, which I will present at the CAIS conference https://t.co/W0PlVxL8IZ next week.
Sadly, I must say that Opus 4.7, as observed by many here, has become too annoying to work with. GPT 5.5 has become noticeably better, but it still not satisfying for hacking the compiler.
Claude Pro vs Codex Pro on Scala compiler:
Claude is extremely good at Scala 3 and synthesizes idiomatic code, understands capture checking very, very well!
Codex: less elegant code, requires more handholding, but still fairly competent.
It flips on pencil-and-paper math.
Thought @TheOfficialACM had uniform publishing standards across venues. Nope. ACM CAIS camera-ready: rip out biblatex (which acmart officially supports??) + other packages which entails significant rework for no reason. SIGPLAN doesn't do this. All for an HTML view nobody wants.
Good news: we'll wipe https://t.co/xE0xI7Ae6s and https://t.co/CeVXGTzOUl clean and make it an LLM-only forum. We've already set up two agents that will argue for resp. against braceless syntax. Scala marches on!
@kubukoz@atlanter@matej_cerny@Scalus3@odersky This was vibe coded by Yichen, one of our students. We have someone else taking this further into a human-maintainable, free-of-copyrighted code version. ETA this fall.
Claude Pro vs Codex Pro on Scala compiler:
Claude is extremely good at Scala 3 and synthesizes idiomatic code, understands capture checking very, very well!
Codex: less elegant code, requires more handholding, but still fairly competent.
It flips on pencil-and-paper math.
We're running the 2026 #Scala Survey!
Let us know how you are using Scala, #AI with Scala, and give hints to the Scala teams (both at @VirtusLab and @EPFL) on where the focus in driving Scala forward could be.
Thank you - your answers count :)
https://t.co/bjFpCfTx8q
@tribbloid@adamwarski For people who have followed Scala capture checking: we renamed "cap" to "any" a while ago, based on user feedback.
https://t.co/hxr6JVcOS9
@tribbloid@adamwarski T1^ means T1^{any} (scope-specific top elem). You're widening to {any}.
Most precise capture-set for c1 is {c1} itself.
More details in CC docs, esp. "scoped capabilities" chapter:
https://t.co/nAPBtZypCq
We update regularly & welcome PRs/feedback.
After a long freeze, the Scala 3 standard library is again open to contributions. The main place for contributing is now the Scala 3 repository.
details and link to process document: https://t.co/qnvkiPgEsO
@tribbloid Ackchyually, it does lots more than staging, it's a "compiler framework" which generates a graph-ir and aggressively optimizes it. It supports custom domain-specific optimizations, too.
Anyway, its creator has been using Futamura's proj. to death RE: "never been tried"