The Scala team continues to refine Scala 3, fixing bugs, refining existing features, and introducing some experimental features for Scala 3.1. Here are a few highlights.
Programming Scala, Third Edition is now available. It provides a comprehensive introduction to Scala 3 for experienced Scala developers, as well as a complete…
During my recent trip to the Ruby Mountains in Nevada, I tried out the inexpensive and compact Move Shoot Move star tracker. This isn’t a full review, just my initial impressions, as I didn’t have a lot of time to try it out (for reasons I’ll mention below).
I spent a week in the Ruby Mountains of Nevada last month. I’ve posted my best pictures to Flickr.
I just purchased the Syrp Genie Micro and several of their motion control devices. You can see the Micro below mounted in my camera’s hot shoe.
Last time I introduced one of the new metaprogramming features in Scala 3, the
inline keyword and how it affects source code. The example I used also contained a macro definition, using quoting and splicing. This post introduces those concepts.
Programming Scala, Third Edition is now available. It provides a…
I haven’t blogged yet about the new metaprogramming system in Scala 3, so let’s start that now. First, let’s look at the new
inline keyword, which causes the compiler to “inline” the decorated code.
Programming Scala, Third Edition is now published! It provides a comprehensive introduction to all the new…
Scala 3.0.0 is now final!
After 8+ years of effort, Scala 3 was officially released this week. This blog post on the Scala language website provides some details, along with a cool visualization of the evolving git tree over that time.
Programming Scala, Third Edition is almost finished, too. We’re in the final production steps with a planned ebook release early in June. Print copies will be available a few weeks later.
I’ll return with more posts about Scala 3 features soon.
For a concise summary of most of the notable changes in Scala 3, see my new Scala 3 Highlights page.
Late in the Scala 3 development process, a new type
scala.Matchable was introduced to fix a loophole in pattern matching. This post discusses that loophole, how
Matchable fixes it, and implications of this change.
For a long time, Scala has supported a useful “trick” called infix operator notation. If a method takes a single argument, you can call it without the period after the instance and without parentheses around the argument. This post describes changes in Scala 3.
For example, if I have a…
Type lambdas are the type analog of “value lambdas”, also known as functions 🤓. This post explores them. The discussion naturally leads to the new ability to parameterize the types of functions, which was previously only supported for methods. …