Giter Club home page Giter Club logo

tofu's Introduction

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

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-logging-shapeless for interop between tofu-logging with Shapeless tag
  • tofu-logging-refined for interop between tofu-logging with Refined
  • tofu-zio-interop for interop with ZIO
  • tofu-enums for enums (Enumeratum utils)

Copyright

Copyright the maintainers, 2020

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.

tofu's People

Contributors

scala-steward avatar catostrophe avatar z1kkurat avatar odomontois avatar funfunfine avatar danslapman avatar road21 avatar d1skort avatar optician avatar pomadchin avatar sigevsky avatar valery-shinkevich avatar ssstlis avatar atapin avatar terjokhin avatar eld0727 avatar tvaroh avatar ioaoue avatar ulanzetz avatar gurinderu avatar vilunov avatar reireirei avatar punctuality avatar oskin1 avatar ppressives avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.