Scala functional idioms
Idiomatic functional programming in Scala using sealed traits, pattern matching, and Option/Either for robust error handling.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill scala-functional-idiomsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
0.9 KB, 176 tokens by cl100k_base, as published. Nobody here has run it
Key Patterns
- Sealed Hierarchies: Use
sealed traitfor domain models (e.g., ADTs) to enable exhaustiveness checking in pattern matching. - Option/Either: Prefer
Option[T]for missing values andEither[E, T]for operations that can fail, avoiding nulls and throwing exceptions. - Expression-Oriented: Leverage Scala's expression-based style over imperative statements.
- Pattern Matching: Use
matchexpressions for data decomposition and control flow.
Example
sealed trait Result
case class Success(value: String) extends Result
case class Failure(reason: String) extends Result
def process(input: Option[String]): Result = input match {
case Some(s) if s.nonEmpty => Success(s.toUpperCase)
case _ => Failure("Invalid input")
}
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.