Python scala idioms
Guide for writing idiomatic Scala including naming conventions, error handling, and pattern matching.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill python-scala-idiomsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.1 KB, 269 tokens by cl100k_base, as published. Nobody here has run it
Scala Idioms and Conventions
Naming Conventions
- Classes/Traits:
PascalCase - Methods/Fields:
camelCase(notsnake_case) - Constants:
PascalCasein companion objects orUPPER_CASEfor enum-like - Package:
lowercase - Type parameters: single uppercase letter
T,A,B
Error Handling
// Python: raise ValueError -> Scala: throw or Either/Try
// Prefer Option for absence, Either/Try for errors
def tokenizePath(value: Json, path: String): Option[Token]
Pattern Matching (replaces isinstance chains)
// Python: if isinstance(value, str): ...
// Scala:
value match {
case s: String => ...
case i: Int => ...
case _ => ...
}
String Interpolation
// Python: f"{value:.6f}" -> Scala: f"$value%.6f" or s"$value"
Companion Objects
// Factory methods, constants go in companion objects
object TemporalTokenizer {
val IsoFormat = "yyyy-MM-dd'T'HH:mm:ss"
val DateFormat = "yyyy-MM-dd"
}
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.