Next chapter in that high-performance #Scala game server. A while back, there was an article about rebasing the core logic processor (purely functional, no IO, no concurrency, bottlenecked on CPU and heap allocations) from #ZIO to ZPure for performance reasons. Now taking it a step further with replacing ZPure with PureLogic (written for this purpose). Uses #Scala3 context functions and "direct style" instead of monads, greatly reducing the number of allocations.

https://blog.pierre-ricadat.com/introducing-purelogic/

Introducing PureLogic: direct-style, pure domain logic for Scala

PureLogic is a new Scala 3 library for writing pure domain logic using direct style instead of monads. It provides 4 capabilities (Reader, Writer, State, Abort) that compose naturally through context functions, with zero dependencies and 7-40x better performance than monadic alternatives.

The epub and pdf of my book "Pure functional HTTP APIs in Scala" is [again] available for free on leanpub and will remain so.

https://leanpub.com/pfhais

#scala #scala3 #http4s #typelevel #FunctionalProgramming #pfhais

Pure functional HTTP APIs in Scala

A book about developing purely functional HTTP APIs with Scala using http4s, Doobie, Cats and other libraries including a chapter about upgrading to Scala 3.

Every couple of months I give #ScalaCLI / metals / vscode / #scala3 a spin for side projects ($DAY_JOB is still #sbt / IntelliJ / 2.13 ).

It is coming along nicely.

๐Ÿ‘

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
Scala 3 slowed us down?

Is this clickbait? Not really. Is this the fault of the language or the compiler? Definitely not. Rather, it was part of a rushed migration. Sharing the lessons learned in the process.

kmaliszewski
Scala 3 slowed us down?

Is this clickbait? Not really. Is this the fault of the language or the compiler? Definitely not. Rather, it was part of a rushed migration. Sharing the lessons learned in the process.

kmaliszewski
Ohโ€ฆ So #Scala3 is basically #Python on JVM? ๐Ÿค”

Sharaf 0.14.0 is out!

https://github.com/sake92/sharaf/releases/tag/0.14.0

Added support for:
- SSE
- named tuples in query/form params
- union types in query/form params

#scala #scala3

Release 0.14.0 ยท sake92/sharaf

What's Changed SSE support in 0232827 support for named tuples in query params cfb6521 support for named tuples in form params 7b728fe support for union types in query params d01dd6b support for u...

GitHub

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.

#scala #scala3 #effects

Release v0.7.0 ยท rcardin/yaes

Here we go again. It's time for the Halloween ๐ŸŽƒ release! Version 0.7.0 introduces the Channel[T] type. What's a channel? It's a communication pipeline ๐Ÿ’ฌ for fibers. It's heavenly inspired by Kotli...

GitHub

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.

#scala #scala3

Simplex Solver

And for literally one of the last talks of #ScalaIO, we have the immense luck to have Jonathan Winandy, one of the organisers of the conference, give us a talk on #kyo, one if the amazing demonstration of the power of #scala3 for better developer experience

https://github.com/getkyo/kyo