All Projects → ThoughtWorksInc → tryt.scala

ThoughtWorksInc / tryt.scala

Licence: Apache-2.0 license
Monad transformers for exception handling

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to tryt.scala

Language Ext
C# functional language extensions - a base class library for functional programming
Stars: ✭ 3,964 (+21922.22%)
Mutual labels:  monad-transformers
RAII.scala
Resource Acquisition Is Initialization
Stars: ✭ 31 (+72.22%)
Mutual labels:  monad-transformers
monad-memo
Memoization monad transformer
Stars: ✭ 29 (+61.11%)
Mutual labels:  monad-transformers
effects
Control.Effects
Stars: ✭ 19 (+5.56%)
Mutual labels:  monad-transformers
sealed-monad
Scala library for nice business logic oriented, for-comprehension-style error handling
Stars: ✭ 16 (-11.11%)
Mutual labels:  monad-transformers
freedsl
Practical effect composition library based on abstract wrapping type and the free monad
Stars: ✭ 37 (+105.56%)
Mutual labels:  monad-transformers

tryt.scala

Build Status Latest version Latest version Scaladoc

tryt.scala contains Scalaz monad transformers for exception handling.

There are two monad transformers: the invariant TryT and the covariant TryT. Unlike scala.EitherT's, those TryT transformers handle both exceptions thrown by native Java or Scala methods and exceptions raised by MonadError.raiseError.

Covariant TryT

Covariant TryT works with monadic data types whose kind is F[+A], like scalaz.concurrent.Future or scalaz.Name.

To use covariant TryT, add the following setting to your build.sbt,

libraryDependencies += "com.thoughtworks.tryt" %% "covariant" % "latest.release"

and check the Scaladoc for usage.

Invariant TryT

Invariant TryT works with all monadic data types

To use invariant TryT, add the following setting to your build.sbt,

libraryDependencies += "com.thoughtworks.tryt" %% "invariant" % "latest.release"

and check the Scaladoc for usage.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].