scala

SKILL.md

Scala

Scalable Language. It interops seamlessly with Java.

When to Use

  • Big Data processing (Spark)
  • High-concurrency systems (Akka)
  • Functional programming on the JVM
  • Complex domains

Quick Start

object Hello extends App {
  println("Hello, World!")

  val list = List(1, 2, 3)
  val doubled = list.map(_ * 2)
  println(doubled)
}

Core Concepts

Functional & OOP

Classes and traits mixed with higher-order functions and immutability.

Immutability

Default preference for immutable data structures (val vs var).

Pattern Matching

Powerful switch-like construct.

x match {
  case 1 => "one"
  case "two" => 2
  case _ => "other"
}

Case Classes

Immutable value objects with built-in equals, hashCode, and pattern matching support.

Best Practices

Do:

  • Prefer immutability (val)
  • Use Option instead of null
  • Leverage the type system
  • Use scalafmt

Don't:

  • Write "Java in Scala"
  • Overuse implicit conversions (can be confusing)
  • Use return keyword (expression-oriented)

References

Weekly Installs
1
GitHub Stars
7
First Seen
Feb 10, 2026
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1