A type-safe and flexible error handling library for Scala, based on Shapeless Coproducts.
Head over to the Microsite for documentation and examples!
libraryDependencies += "com.github.jatcwang" %% "hotpotato-core" % LATEST_VERSION
This project was developed to explore what a correct, type-safe and ergonomic error handling would look like in Scala. Due to its heavy use of shapeless machinery, using this in a production codebase may significantly increase your compile time. Be warned!
All issues and PRs are very welcome (including major changes to the library design/API since we're at the early stages).
This project uses sbt-boilerplate plugin to generate functions of different arity.
If you cannot find a source file, it may be generated and lives under core/src/main/boilerplate
(or other boilerplate
directories)