One small step for me, and I don’t know if it will help mankind at all. But Hello, Scala is now called Scala Book, and you can find it here on scala-lang.org.
Here’s an example of Union Types in Scala 3 (Dotty). This image comes from this Martin Odersky video.
I recently had a discussion with two people I’m working on a book with, where they are essentially very active reviewers. I like to write with enthusiasm, so I made a particular statement in the book. One person said they thought it was motivating — which was my intent — but the other person said it made them wary. I thought it was fascinating to get such different perspectives.
Here’s some source code that demonstrates a quiet, concise, and attractive new programming language I’d enjoy using:
I recently created a command I named
ffx that lets you search your filesystem for files that contain multiple strings or regular expressions. This post describes and demonstrates its capabilities. (There’s a little video down below if you want to see how it works before reading about it.)
I’ve written this before, but when I saw this “pseudocode to Scala code” example in the book Functional Thinking, I thought it was worth mentioning again: If you have trouble grokking the Scala
map method, think of it as being named
transform instead. It transforms an input collection to an output collection, based on the algorithm you supply.
For those coming from the OOP world, I think “transform” is a better word because it is more meaningful, at least initially.
I’ll write about this a little more when I’m awake, but here’s a little look at ADTs implemented in Scala 2 (with traits and case objects) and Scala 3 enums.
I wanted some specific features in a “find” utility, and when I couldn’t figure out how to get them with combinations of
awk, and other Unix commands, I wrote what I wanted in Scala. Those features are (a) showing matching filenames, (b) showing the line that matches my search pattern, and underlining the pattern in the output, (c) showing the line numbers of the matches, and (d) showing an optional number of lines from the file before and after each match.