Code Monkey home page Code Monkey logo

Comments (4)

dhinojosa avatar dhinojosa commented on June 24, 2024

@djspiewak , I would love to help with docs. with your and the rest of the team's guidance. Anything, in particular, you would like first?

from cats-mtl.

djspiewak avatar djspiewak commented on June 24, 2024

I think the first step is to roughly align what we have with what the hierarchy actually looks like. I did a rough search/replace on names when all the classes were renamed, an @LukaJCB removed (some of?) the old bits about ControlLayer, but we should take a pass over everything to make sure it's not talking about stuff that doesn't exist anymore.

Once we've done that, my rough general ideas fall somewhere along the following lines:

  • A page talking about how the lifting works (this would mention MonadPartialOrder, but mostly just call out that instances are simply on companions and it's straightforward)
  • An introduction page to the concept of MTL capability classes. Most people equate monad transformers with "complex nested types, terrible errors, and a lot of opaque lifting", and capability classes completely solve that problem. Beginning to get people thinking in terms of capability-declaring type signatures (this F has the capability to perform dependency injection with type R), that type of thing. The hardest leap is just reading the signatures and getting comfortable with the amount of abstraction floating around.
  • A collection of use-cases. Dependency injection is a nice one because it's so obvious, but we can also talk about error channels and the like.
  • I still think Chronicle is weird…

from cats-mtl.

baovitt avatar baovitt commented on June 24, 2024

@djspiewak, I'm very interested in writing documentation. I'm a beginner in Cats and feel that forcing myself to read through the codebase and understand the motivations enough to write documentation would be a great learning experience. Let me know what I can do.

Thanks,

Brad

from cats-mtl.

benhutchison avatar benhutchison commented on June 24, 2024
  • A collection of use-cases. Dependency injection is a nice one because it's so obvious, but we can also talk about error channels and the like.

Self-contained use case examples would be super helpful. Something a newcomer to MTL can copy, play with, and then modify to their needs.

The mtl docs currently have small examples for each class, but some examples showing pairs and "stacks" of mtl classes working together to solve a realistic problem would make a nice addition.

One use case I think there'd be a lot (perhaps too much!) interest in would be how to emulate the capabilities of ZIO using a mtl stack... 🤔 💭

from cats-mtl.

Related Issues (20)

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.