Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems. Learn more →
Enumeratum Alternatives
Similar projects and alternatives to Enumeratum
-
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
-
Each
A macro library that converts native imperative syntax to scalaz's monadic expressions (by ThoughtWorksInc)
-
-
-
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
-
-
-
-
-
scribe
The fastest logging library in the world. Built from scratch in Scala and programmatically configurable. (by outr)
Enumeratum discussion
Enumeratum reviews and mentions
-
How to implement `if-else if -else if -else` with cat effect IO in Scala?
I'm not sure I understand what Cats or cats-effect has to do with what you're trying to do. As far as I can tell, it sounds like what you're asking is simply "what's the best way to implement an enumerated type in Scala?" The best answer to that I'm aware of is Enumeratum.
-
Concise enumeration in Scala
In Scala 2: enumeratum which is, essentially, option 3 from your post.
-
Simple, Naïve, and Wrong: More than you wanted to know about Scala Case Classes
And for exactly the same reasons one shouldn't override equals and hashCode in a case class, they shouldn't manually implement an enumeration and instead let a well-tested macro (2.x) or the compiler itself (3.x) handle reliably doing the automated code generation. The more code that is generated by the compiler, the smaller the defects, technical debt, and security vulnerability surface areas.
-
A survey of programming language enum support
For Scala, check out the enumeratum library (https://github.com/lloydmeta/enumeratum). In my opinion its the best enum implementation I know of. It has all the features defined in the table, and the syntax is really clean. It even supports unique associated values (eg. unique String/Int keys).
-
A note from our sponsor - InfluxDB
influxdata.com | 25 Apr 2025
Stats
lloydmeta/enumeratum is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of Enumeratum is Scala.