Scala Digest. Issue 21

Scala Digest. Issue 21

Hello, Habre! We – @ Ivoya, @ Melkaya_150cm, @ tcarina and @ EvieLynn – backend developers of T-Bank, write code in Scala and burn with the desire to popularize it. We collect and aggregate news from various sources, including the Scala Times, Petr Zapletal’s blog and the Scala Nishtyaki channel, adding additional news and our own commentary. We derive our motivation from the desire to develop and share the acquired knowledge. Any feedback is welcome! (ウ ◕‿◕ )ウ

Now you can share your own content!

Releases

We have collected the latest updates of popular and useful libraries for a couple of months:

Articles

In this section, we share recent articles, repositories, and research that we found interesting. Resources where authors use Scala 3 have been moved to a separate block.

  • Finding all sequences of numbers from 1 to n, where the sum of adjacent numbers is a square — we return to the origins, our dearly beloved algorithms. It’s nice to dive into the deep waters of your memory for five minutes and leave the task in a vacuum.

  • Life, death and r̶o̶b̶o̶t̶y̶ resource management in Scala – you can use ZIO.Scope and not know any problems, or you can get bored and dive into the jvm world of memory management and closing-releasing resources.

  • The case for case objects in Scala – if you want to explain to Jun all your unspeakable love for the case class, throw this article.

  • Streaming Hash Computations – if you ever need to hash not just a key, but directly a stream of bytes, now you know where to look to choose the optimal solution to your task.

  • sudori part 5 – between going to the beach and skateboarding, Eugene Yokota manages to work for us on a remote cache for the upcoming SBT 2.0. This time — on correct caching of incremental tests.

  • RFC-4: persistent worker – and here discusses the creation of a persistent worker.

  • Spark Essentials: A guide to setting up and running Spark projects using Scala and SBT

    Nastya

    No comments about Spark

  • com.lihaoyi issue bounties – Lihaoyi is gaining momentum in its bounty system and in September prepared a total of $10,000 and a list of tasks designed to expand the use of Mill in Java and other languages. This time, the tasks turned out to be so much simpler and “fatter” that by the time the digest was released, green ticks could no longer be counted on them. Although some tasks from previous bounties are still open and relevant.

  • Launch Scala, faster than Native – Starting to forget Jon Pretty’s wonderful Soundness library ensemble is back? Don’t worry, we will remind you. This time, the focus is on the Ethereal tool, which will become the CLI for your service.

    Nastya

    Oh, I think I see the glittering eyes of the bughunters on the horizon

  • SBT Task to Build Frontend Components – a little reminder of what a wunderwaffle SBT really is: it lets you create a built-in frontend install (npm) command.

  • Writing an Android app with Scala.js – with each new read story about creating a working application on Andriod using Scala.js from Tyrian, the guys are more and more tempted to try to write something of their own. Eh, there would be 36 more hours in a day to get everything done.

Videos and reports

We have collected links to already known and popular as well as anonymous channels and videos about Scala:

  • Can Best effort compilation beat Idea – our favorite flatmappers have a new release after a two-month hiatus. Apparently, the boys were recharged with sunshine and energy, because the episode turned out to be the liveliest and longest. Instead of a jingle this time – a nostalgic conversation about who tried to run games on Linux in the days of Dostomdek. And immediately after washing bones and throwing stones on the garden: uPickle with its special option serialization[Option]to its author, the scala toolkit, the organization of references in the main Scala documentation. Even Python turned out: “You should not expect that Python is a normal language”, “Python is a good Bash”. In general, if you want to know why very soon it will not matter where you work – in IntelliJ Idea or Metals, in which version of Scala implicits appeared, what rules Microsoft dictates to contract programmers, and much more – go and listen to the podcast. Now it’s even on YouTube!

  • Pure Functions – keeping up with the times and reviewing YouTube Shorts.

  • [ICFP’24] Green – ICFP Papers and Events – an eight-hour recording of the conference in Milan, in the comments it was recommended to read Degrees of Separation: A Flexible Type System for Safe Concurrence.

And here we have hidden a few more interesting videos:

Tooling

A digest piece where we talk about new and improved development tools:

  • Squery – SQL in Scala was already discussed in the comments for the last issue. As the title says, No DSLs, no fuss, just plain SQL. Link to GitHub.

  • Scapegoat-Scalafix – Scapegoat-linter for Scala 2 is now supported for the third version. You can read more about its capabilities in the Readme.

Highlights

This block is not always fresh, but the resources that caught our eye are under the banner of “smart pens”. Authors create something interesting, unusual, but not necessarily useful:

  • os-lib — if you have not yet met this library, then you are interested in a solution for working with the operating system directly from Scala code.

  • lohika is a proof generator, has its own UI and is written in Scala! It looks very interesting and unusual. In addition, you can read the article in two parts about logic programming: part 1 and part 2.

  • zzspec – ZIO binding over testcontainers for easy integration test writing if your religion is ZIO. At first glance, this is an analogue of the Distage module for integrators with containers.

Last month, EPFL was given the house to write a client to the database. Some of them have been collected, you can check and evaluate:

And here we have hidden another interesting article:

Community-movement

A section of curious and interesting events in the world of Scala-society. We would like to see it voluminous and alive. If we missed something or if you have suggestions, we are waiting for you in the comments:

  • Trusting Open-Source – Alex Nedelsu raises the issue of the importance of the existence of true open-source, and we stand with him on this point. And he also grumbles in the old way about how many divorced pseudo-open source licenses drag you through the courts if the wind of their goodwill suddenly changes.

  • Just one more type of type bro, I swear… – wait for the sequel “Another simple json-serialization library”.

  • GOTO Considered Harmful — ( ͡° ͜ʖ ͡°)

See you in a month! ♡\( ̄▽ ̄)/♡

@ Melkaya_150cm, @ Ivoya, @ tcarina, @ EvieLynn worked on the digest. We look forward to your ideas, suggestions, and feedback!

Previous issues:

Releases for 2023

Related posts