Coder Social home page Coder Social logo

optician / tofu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tofu-tf/tofu

0.0 1.0 0.0 5.01 MB

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

License: Apache License 2.0

Scala 99.01% Dockerfile 0.01% JavaScript 0.91% CSS 0.03% HTML 0.04%

tofu's Introduction

ToFu

Build & Release Maven Central Discord Chat Scala Steward badge

Functional programming toolkit aimed at taming the complexity of Tagless Final approach.

Quick Start

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

libraryDependencies += "tf.tofu" %% "tofu" % "latest version in badge"

Of course, you can also specify an exact list of tofu modules that you want to add to your dependencies (used in place of "tofu"):

  • tofu-kernel for core independent utils
    • tofu-kernel-cats-mtl for interop between tofu-kernel and Cats MTL
  • tofu-core for core utils
  • tofu-core-higher-kind for higher kinded utils
  • tofu-concurrent for concurrent utils
  • tofu-config for config utils
  • tofu-data for data utils
  • tofu-derivation for derivation utils and derevo annotations
  • tofu-doobie for Doobie utils
  • tofu-enums for Enumeratum utils
  • tofu-env for Env (a variation of a Reader Monad based on Monix Task)
  • tofu-fs2-interop for interop with fs2
  • tofu-streams for streaming utils
  • tofu-logging for the whole set of logging utils (derivation, layout, structured, util, interop)
    • tofu-logging-derivation for logging derivation only
    • tofu-logging-layout for logging layout only
    • tofu-logging-structured for logging structured only
    • tofu-logging-util for logging util only
    • tofu-logging-refined for interop between tofu-logging and Refined
    • tofu-logging-shapeless for interop between tofu-logging and Shapeless tag
    • tofu-logging-log4cats for interop with Log4Cats
  • tofu-memo for caching utils
  • tofu-observable for monix.reactive.Observable 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-zio-interop for interop with ZIO (core, logging)
    • tofu-zio-core for ZIO instances only
    • tofu-zio-logging for ZIO logging only

Adopters

Proud user of ToFu? Feel free to add your company!

Raiffeisen Bank Russia

Risk Management Solutions

Contributing

Please note we use the 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 an automated check for style conformance. You can run sbt checkfmt before PR. If you have any trouble during this check, just run sbt fmt and commit again.

Copyright

Copyright the maintainers, 2019-2021

Logos made with love by @impurepics

tofu's People

Contributors

atapin avatar catostrophe avatar d1skort avatar danslapman avatar dependabot[bot] avatar funfunfine avatar gurinderu avatar gusevtimofey avatar ioaoue avatar klimovsv avatar leammas avatar mehakun avatar mikhailchuryakov avatar odomontois avatar optician avatar oskin1 avatar pomadchin avatar ppressives avatar punctuality avatar rednblack avatar road21 avatar scala-steward avatar sigevsky avatar ssstlis avatar susliko avatar terjokhin avatar tvaroh avatar valery-shinkevich avatar vilunov avatar z1kkurat avatar

Watchers

 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.