/tofu

Functional programming toolbox https://tinkoffcreditsystems.github.io/tofu

Primary LanguageScalaApache License 2.0Apache-2.0

ToFu

CI Release Chat
Build Status Maven Central Gitter chat

Functional programming toolkit by Tinkoff scala team aimed at taming the complexity of Tagless Final approach.

Quick Start

see the docs on the site

To use the whole utils pack just add to your build.sbt:

libraryDependencies += "ru.tinkoff" %% "tofu" % "0.5.1.1"

Of course you can also specify the exact subproject that you wanna add to yours dependencies (used in place of "tofu"):

  • tofu-core for core (Main core)
  • tofu-memo for memo (Caching utils)
  • tofu-env for env (Some variation of a Reader Monad)
  • tofu-parallel for parallel (Parallel utils)
  • tofu-concurrent for concurrent (Concurrent utils)
  • tofu-optics-core for optics core (Optics typeclasses)
  • tofu-optics-interop for optics interop with Monocle
  • tofu-optics-macro for macro optics generators
  • tofu-data for data utils
  • tofu-logging for the whole set of logging utils (derivation, layout, structured)
  • tofu-logging-derivation for logging derivation only
  • tofu-logging-structured for logging structured only
  • tofu-logging-layout for logging layout only
  • tofu-observable for observable
  • tofu-enums for enums (Enumeratum utils)

Here will be glorious readme soon with link to the gorgeous microsite