Discover building native-ready Scala applications using GraalVM
🔍 https://seroperson.me/2023/08/31/using-scala-with-graalvm/
Discover building native-ready Scala applications using GraalVM
🔍 https://seroperson.me/2023/08/31/using-scala-with-graalvm/
Let's go! 🚀🚀🎉
«We really cannot stress enough how impressed we are with Scala Center and Virtus' work on this front. Scala Native 0.5 is quite the triumph, and Cats Effect 3.7 is the proof. Going forward, you should essentially expect rough parity between scheduling functionality on JVM and LLVM, with JavaScript now being the unusual one (due to its single-threaded nature).»
https://github.com/typelevel/cats-effect/releases/tag/v3.7.0-RC1
(2/5) As scalameta/scalafmt https://github.com/scalameta/scalafmt releases include #ScalaNative -built native images for all platforms as of 3.9.1, #ScalaCLI v1.7.0 and onwards will rely on those, rather than the old, Graal-built images from virtuslab/scalafmt-native-image https://github.com/virtuslab/scalafmt-native-image
#ScalaCLI v1.7.0 is out!
Changes include:
- #ScalaNative 0.5.7 support
- better support for parallel Scala CLI builds
- switch to scalameta/scalafmt-built native images of scalafmt v3.9.1+
- support for --test in run and package
- limited detection of main methods in .sc scripts
...and more, check the release notes for the details! (1/5)
Exciting news, #ScalaCLI 1.4.0 is out! 🔥
Among other things, it updates #ScalaToolkit to default to 0.4.0, which now makes it possible to use it with #ScalaNative 0.5.x.
Scala Native has also been bumped to 0.5.4, by the way. (1/3)
My #playdate + #scalanative talk from #scalarconf is up!
Scala Native is a great development. When comparing it with GraalVM's native-image, the latter wins if you just want better RAM use and faster startup, mostly due to connectivity. The JVM's connectivity is top-notch. E.g., JDBC.
Wojciech Mazur talked about implementing multithreading in Scala Native, with some of the problems encountered for memory management.
Scala Native is growing up 😍
And here’s Wojciech Mazur
sharing the story of how his team dealt with 201 obstacles to run multithreaded programs natively #scalanative
Scala Native v0.5.0-RC1 released. Has 1:1 multithreading support.
https://github.com/scala-native/scala-native/releases/tag/v0.5.0-RC1
Created a thread on the devforum to sum up what I've learned/done so far: https://devforum.play.date/t/scala-native-on-the-playdate/
I wrote about what I learned by using the C libuv library from Scala Native #scala #scalanative https://lachlan.hashnode.dev/using-a-c-library-from-scala-native
"We’re happy to announce the release of Scala Native. Scala Native 0.4.16 is yet another maintenance release backporting changed from the 0.5.0-SNAPSHOT branch. This version introduces support for using Scala Native with JDK 21 and introduces bug fixes to the runtime. It also fixes severe performance problems when using java.nio.MappedByteBuffers."
https://scala-native.org/en/stable/changelog/0.4.16.html
#scala #scala3 #ScalaNative #programming #fp #programmingLanguages
I had a lot of fun preparing presentation about #ScalaNative for our local meetup. It turned out you could do a lot with #TypeLevel stack! fs2-io and cats-effect provide solid foundation for IO and networking apps. Http server/client is covered by http4s. I hope we will see production deployments soon.
https://lavrovorg.notion.site/Scala-Native-in-2023-cf3667e327e34fdf879e5a5e74be1ec6
#Scala
Wojciech Mazur on the stage explaining coroutines in the context of Scala Native #scala #scalanative
We prepared 3 talks for #ScalaDays:
-Concurrency in #Scala and on the #JVM by
@adamwarski
-Explaining Different #Coroutine Flavours using #ScalaNative by
Wojciech Mazur
-Batteries-included Scala with Scala Toolkit by
Szymon Rodziewicz
Want to discuss them directly with the speakers? Join us at our stand!
@nixCraft It can also run Scala Native applications using snunit: https://github.com/lolgab/snunit
#scala #scalanative #nginx
Mill 0.11.2 is out!
https://mill-build.com/mill/Changelog.html#0-11-2
This version greatly improves build speed after build definition changes due a new fine-grained cache invalidation (change detection on method-level).
We also improved the editing experience and now properly support meta builds via BSP (Metals) and IntelliJ IDEA.
GitHub repos for examples:
scala-cli: https://github.com/softwaremill/sttp-native-cli
sbt: https://github.com/softwaremill/sttp-native-sbt
Nice read. Be interesting to do a similar integration that @mitchellh did here integrating #zig and #swiftui but instead integrating #scala #scalanative and #swiftui https://mitchellh.com/writing/zig-and-swiftui