Skip to content
Functional programming toolbox https://tinkoffcreditsystems.github.io/tofu
Scala JavaScript Other
Branch: master
Clone or download

Latest commit

Latest commit a1bf2e1 Apr 8, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github remove dependency on checkfmt Mar 12, 2020
concurrent/src integrate Unlift into WithRun Mar 26, 2020
config/src reduce warnings Mar 14, 2020
core/src make optic methods friendlier with WithXXX typeclasses Apr 1, 2020
data/src reduce warnings Mar 14, 2020
derivation/src reduce warnings Mar 14, 2020
docs Merge branch 'master' into logging-docs Mar 11, 2020
enums/src/main/scala/tofu/logging Codebase has been formated, Travis checks formatting before all steps. Jan 27, 2020
env/src make Env instance friendlier with TaskApp Apr 3, 2020
fs2/src fmt Apr 3, 2020
higherKindCore/src Merge pull request #207 from catostrophe/mid-compose Mar 24, 2020
logging allow summoning LoggableContext unambiguously Apr 7, 2020
logos Add logos by @impurepics Dec 20, 2019
memo/src/main/scala/tofu/memo Codebase has been formated, Travis checks formatting before all steps. Jan 27, 2020
observable/src reduce warnings Mar 14, 2020
optics reduce warnings Mar 14, 2020
project Update magnolia to 0.14.1 Apr 7, 2020
website Merge branch 'master' into logging-docs Mar 11, 2020
zio integrate Unlift into WithRun Mar 26, 2020
.dockerignore add missing files Oct 29, 2019
.gitignore ignore en.json Mar 10, 2020
.publish.xml merge datatype Sep 5, 2019
.scalafmt.conf Update scalafmt-core to 2.4.2 Feb 23, 2020
.travis.yml Fix Travis task Feb 7, 2020
CODEOWNERS Update CODEOWNERS Mar 24, 2020
CONTRIBUTORS.md contributors Sep 11, 2019
Dockerfile add missing files Oct 29, 2019
LICENSE Initial commit Jul 19, 2019
README.md Update README.md Mar 12, 2020
build.sbt reduce warnings Mar 14, 2020
docker-compose.yml add missing files Oct 29, 2019

README.md

ToFu

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

CI Release Chat
Scala CI Maven Central Discord Chat

Quick Start

see the docs on the microsite

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

libraryDependencies += "ru.tinkoff" %% "tofu" % "latest version in badge"

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)

Copyright

Copyright the maintainers, 2019

Logos made with love by @impurepics

Contributing

Please note we use following labels for automated release descriptions:

  • chore if your PR does not change any types and runtime semantics
  • fix if your PR merely fixes incorrect behavior

Formatting

We have automated check for style conformance. You can run sbt fmt before PR. If you have any trouble during this check, just run sbt fmt and commit again.

You can’t perform that action at this time.