jatcwang / hotpotato

A type-safe and flexible error handling library for Scala, based on Shapeless Coproducts

Website GitHub

Hotpotato

Release (https://jatcwang.github.io/hotpotato/)

A type-safe and flexible error handling library for Scala, based on Shapeless Coproducts.

Head over to the Microsite for documentation and examples!

Quick Installation

libraryDependencies += "com.github.jatcwang" %% "hotpotato-core" % LATEST_VERSION

Warning about using this in production codebases

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!

Contributing

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)