#scala3 — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #scala3, aggregated by home.social.
-
#neotype for #Scala3 by @kitlangton is an absolute gem of a library, combining together the power of new types and refinement types. Absolutely recommended, if you don't use it yet.
-
Ah yes, Scala 3: the new scapegoat for rushed migrations by our fearless developer who never met a dependency he couldn't blame. 🚀💾 But fear not, the absence of "macro wizardry" is clearly the culprit for his inefficiencies, not the compiler he swears by. 🧙♂️🔮
https://kmaliszewski9.github.io/scala/2025/12/07/scala3-slowdown.html #Scala3 #RushedMigrations #MacroWizardry #DeveloperBlame #CompilerIssues #HackerNews #ngated -
-
Riccardo Cardin has published a new update to his #YAES library, implementing channels as means of communication between fibers: https://github.com/rcardin/yaes/releases/tag/v0.7.0
I'm following this development closely.
-
I wrote an online step-by-step Simplex calculator for real-valued linear programming problems using Scala.js
🔴 NO ADS!
https://jbytecode.github.io/simplex/
For those who teach operations research in their courses.
-
New blog post: Migrating to Scala 3
Recently I migrated three old services to Scala 3. This post contains many overly specific notes on problems I faced and how to solve them.
-
The seventh @scalabridgelondon season starts on the 8th of Oct, and it's gonna be jam packed with interesting Scala related learning activities. Head on to Meetup.com and subscribe!
https://meetu.ps/e/PwvsR/ttMQN/i#scala #scala3 #scalabridge #meetup #functionalprogramming #learning #coding
-
Now that I've spend like 2 weeks moving #scala code around, commenting, writing, entering new lines, refactoring, creating multi level ifs and matches and multiple defs inside defs and all that stuff, all using #scala3 whitebased syntax with formatter turned on to write it into that and 4 spaces for ident...
I'm getting so many weird compile errors constantly, scratching my head a lot about why comments moved place, for-comprehesions stopping to work..
I'm tired. I don't think if it's worth.
-
Today, we officially switched Rudder next version, a 15 years old complex app, to #Scala3.
And we're still able to flawlessly upmerge bug corrections from 2 previous, still supported prior versions (released one year ago)
-
So, after more than 2 years on it, we're almost at the point where #rudder is ported to #scala3 🎉🎉🎉
Rudder is an old beast. 15y old. With lib from that era like (quite fabulous in retrospective) #liftweb by @dpp, XML literals, lib using macro that won't ever be ported to Scala 3, etc.
And Rudder has a very peculiar (self imposed) constraint on branch support, where we need to easily switch to and evolve bra ches 2y old, and upmerge changes.
And still, with the help of some very talented people, it's happening. With regular update to include syntax changes, prepare the code base, check things run in the future version... Without any impact on the release cycle if the product (until now! Still time to bork everything!)
It was an extremely frustrating experience that could have been made easier without the Scala 3.0 big bang but with more iterative small changes like there is in new versions ("the last time syntax will change and books will be written", my ass).
But still, the compat layer allowing to use #scala 2 libs in #scaka3, and the migration tools, are marvels.
-
So, after more than 2 years on it, we're almost at the point where #rudder is ported to #scala3 🎉🎉🎉
Rudder is an old beast. 15y old. With lib from that era like (quite fabulous in retrospective) #liftweb by @dpp, XML literals, lib using macro that won't ever be ported to Scala 3, etc.
And Rudder has a very peculiar (self imposed) constraint on branch support, where we need to easily switch to and evolve bra ches 2y old, and upmerge changes.
And still, with the help of some very talented people, it's happening. With regular update to include syntax changes, prepare the code base, check things run in the future version... Without any impact on the release cycle if the product (until now! Still time to bork everything!)
It was an extremely frustrating experience that could have been made easier without the Scala 3.0 big bang but with more iterative small changes like there is in new versions ("the last time syntax will change and books will be written", my ass).
But still, the compat layer allowing to use #scala 2 libs in #scaka3, and the migration tools, are marvels.
-
So, after more than 2 years on it, we're almost at the point where #rudder is ported to #scala3 🎉🎉🎉
Rudder is an old beast. 15y old. With lib from that era like (quite fabulous in retrospective) #liftweb by @dpp, XML literals, lib using macro that won't ever be ported to Scala 3, etc.
And Rudder has a very peculiar (self imposed) constraint on branch support, where we need to easily switch to and evolve bra ches 2y old, and upmerge changes.
And still, with the help of some very talented people, it's happening. With regular update to include syntax changes, prepare the code base, check things run in the future version... Without any impact on the release cycle if the product (until now! Still time to bork everything!)
It was an extremely frustrating experience that could have been made easier without the Scala 3.0 big bang but with more iterative small changes like there is in new versions ("the last time syntax will change and books will be written", my ass).
But still, the compat layer allowing to use #scala 2 libs in #scaka3, and the migration tools, are marvels.
-
So, after more than 2 years on it, we're almost at the point where #rudder is ported to #scala3 🎉🎉🎉
Rudder is an old beast. 15y old. With lib from that era like (quite fabulous in retrospective) #liftweb by @dpp, XML literals, lib using macro that won't ever be ported to Scala 3, etc.
And Rudder has a very peculiar (self imposed) constraint on branch support, where we need to easily switch to and evolve bra ches 2y old, and upmerge changes.
And still, with the help of some very talented people, it's happening. With regular update to include syntax changes, prepare the code base, check things run in the future version... Without any impact on the release cycle if the product (until now! Still time to bork everything!)
It was an extremely frustrating experience that could have been made easier without the Scala 3.0 big bang but with more iterative small changes like there is in new versions ("the last time syntax will change and books will be written", my ass).
But still, the compat layer allowing to use #scala 2 libs in #scaka3, and the migration tools, are marvels.
-
So, after more than 2 years on it, we're almost at the point where #rudder is ported to #scala3 🎉🎉🎉
Rudder is an old beast. 15y old. With lib from that era like (quite fabulous in retrospective) #liftweb by @dpp, XML literals, lib using macro that won't ever be ported to Scala 3, etc.
And Rudder has a very peculiar (self imposed) constraint on branch support, where we need to easily switch to and evolve bra ches 2y old, and upmerge changes.
And still, with the help of some very talented people, it's happening. With regular update to include syntax changes, prepare the code base, check things run in the future version... Without any impact on the release cycle if the product (until now! Still time to bork everything!)
It was an extremely frustrating experience that could have been made easier without the Scala 3.0 big bang but with more iterative small changes like there is in new versions ("the last time syntax will change and books will be written", my ass).
But still, the compat layer allowing to use #scala 2 libs in #scaka3, and the migration tools, are marvels.
-
What a beautiful thing to approximate pi
https://en.wikipedia.org/wiki/Gauss%E2%80%93Legendre_algorithm
Result: 3.141592653589794
-
Calypso: Схема данных MongoDB на Scala
Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source библиотеку calypso для работы с BSON. Публикация для тех, кто стремится к современным практикам разработки и разделяет наше влечение к Scala 3. Готовы к открытиям? Добро пожаловать в мир функционального программирования и надёжной работы с schema-on-read.
https://habr.com/ru/companies/m2tech/articles/782986/
#scala #ddd #scala3 #outbox #adt #algebraic_data_types #mongodb #nosql #domain_driven_design #functional_programming
-
New blog post! Let's continue to write a parser combinator library in Scala 3 à la @pchiusano and @runarorama 's Red book... but using TDD!
#scala3 #tdd #parsercombinatorshttps://blog.agilogy.com/2022-12-16-writing-a-parser-combinator-library-2.html
-
#Scala it's that (and there's a lot of them), and also more. I think scala pushed the state of art regarding effect system, and things like #catseffect (more "Haskell inspired") and #zio (more "a Scala own thing") are quite amazing.
And #scala3 has really impressive things regarding types (see for ex #iron https://social.treehouse.systems/@fanf42/111935214728958950) -
I'm not sure I understand the changes and improvements well, but if we got a new scala 3 release that finally works again on android it should be all over the news and crazy marketing everywhere...
https://scala-lang.org/news/3.7.0/#scala-3-unblocked-on-android-22632
-
In recent version of Scala, Named Tuples is a new feature.
Named Tuples acts like case classes as well as tuples.
#scala3 :scala:
Scala v3.7.0 is out!
-
-
I recently developed a single-page application with Scala.js. Approximately 3500 lines of code compile to 1.6 mb of un-optimized JavaScript, and 340 kb of optimized JavaScript.
I'm amazed that such a task can be accomplished with full type safety using full Scala.
#Scala #Scala3 #javascript :scala: :javascript:
-
Going structural with Named Tuples by Jamie Thompson | Scalar Conference 2025
-
Tagged vs Untagged Unions (in Scala)
https://alexn.org/blog/2025/04/02/tagged-vs-untagged-unions-in-scala/
-
-
“A Generic Approach to Parsing CSV into Case Classes in Scala 3”
https://yadukrishnan.live/a-generic-approach-to-parsing-csv-into-case-classes-in-scala-3
-
Very insightful report of a Scala 3 migration by Pierre Ricadat
https://blog.pierre-ricadat.com/scala-3-migration-report-from-the-field
-
Macros can be powerful. Or... they can be this 😂. Introducing FunctionName: a Scala 3 macro that's literally just a string. Get a function's name. Done ✅ #scala #scala3 https://github.com/matejcerny/function-name
-
And the experience feels good, at least for toys. Seriously, download this sample and fire it up: https://github.com/sjrd/scalajs-sbt-vite-laminar-chartjs-example
-
Out of the Alt-JS languages I've played with, #Scala.js seems to be the best.
Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it, pretty fast compared to 2–3 years ago. Scala 3 also helps. E.g., it has untagged unions, just like TypeScript.
I'm surprised that it's in better shape than #KotlinJS, for all its multi-platform marketing.
-
@alexelcu
Indeed so, I chose #Scala3 for SWIM :
https://swim.benmatthews.eu
as I can write a complex society-climate #model, complex web GUI, and handle many historical datasets, all in one language - and I'm amazed how robustly #scalajs works for this. This is - so far - a one-man project. However individuals can keep coding longer than fashions in tech, or even mega corporations. Scala needs a broader influx, such examples of science code can help show python is not the only option. -
So awesome to finally have warn unused imports in Scala 3.
Amazing job by Paul Coral and others reviewing.
-
And the experience feels good, at least for toys. Seriously, download this sample and fire it up: https://github.com/sjrd/scalajs-sbt-vite-laminar-chartjs-example
-
And the experience feels good, at least for toys. Seriously, download this sample and fire it up: https://github.com/sjrd/scalajs-sbt-vite-laminar-chartjs-example
-
And the experience feels good, at least for toys. Seriously, download this sample and fire it up: https://github.com/sjrd/scalajs-sbt-vite-laminar-chartjs-example
-
And the experience feels good, at least for toys. Seriously, download this sample and fire it up: https://github.com/sjrd/scalajs-sbt-vite-laminar-chartjs-example
-
Out of the Alt-JS languages I've played with, #Scala.js seems to be the best.
Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it, pretty fast compared to 2–3 years ago. Scala 3 also helps. E.g., it has untagged unions, just like TypeScript.
I'm surprised that it's in better shape than #KotlinJS, for all its multi-platform marketing.
-
Out of the Alt-JS languages I've played with, #Scala.js seems to be the best.
Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it, pretty fast compared to 2–3 years ago. Scala 3 also helps. E.g., it has untagged unions, just like TypeScript.
I'm surprised that it's in better shape than #KotlinJS, for all its multi-platform marketing.
-
Out of the Alt-JS languages I've played with, #Scala.js seems to be the best.
Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it, pretty fast compared to 2–3 years ago. Scala 3 also helps. E.g., it has untagged unions, just like TypeScript.
I'm surprised that it's in better shape than #KotlinJS, for all its multi-platform marketing.
-
Out of the Alt-JS languages I've played with, #Scala.js seems to be the best.
Given it's probably not widely adopted, its maturity is surprising. E.g., ScalablyTyped can convert TypeScript definitions, and actually works. Interop is good. And the compiler is, dare I say it, pretty fast compared to 2–3 years ago. Scala 3 also helps. E.g., it has untagged unions, just like TypeScript.
I'm surprised that it's in better shape than #KotlinJS, for all its multi-platform marketing.