Scala Monad

Open-source Scala projects categorized as Monad | Edit details

Top 9 Scala Monad Projects

  • GitHub repo Learn-by-doing functional programming course on Scala

    learn-by-doing course/tutorial for functional programming on scala

  • GitHub repo Eff

    Eff monad for cats - https://atnos-org.github.io/eff

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • GitHub repo Each

    A macro library that converts native imperative syntax to scalaz's monadic expressions (by ThoughtWorksInc)

  • GitHub repo monadless

    Syntactic sugar for monad composition in Scala

    Project mention: Kind: A Modern Proof Language | news.ycombinator.com | 2021-08-11

    Well `RecordWildcards` has been around for 14 years... but even without it instead of `{..}` you'd just have `_`s. The main thing that is different is that your Kind example had nested case statements while your Haskell example tried to match everything on one shot, which makes for a non-equivalent comparison.

    > Not sure how that could work, though. Idris had an interesting syntax, but IIRC it wasn't general.

    I assume you're talking about idiom brackets for applicatives? The general syntax is given in something like https://github.com/monadless/monadless. The idea is to basically take async-await syntax and generalize it to any monad.

    So e.g. your `Maybe` example (using `!` for the equivalent of `await` for concision) would look like

      Maybe {

  • GitHub repo Dsl.scala

    A framework to create embedded Domain-Specific Languages in Scala

  • GitHub repo Play monadic actions

    A simple scala DSL to allow clean and monadic style for Play! Actions

  • GitHub repo dotty-cps-async

    experimental CPS transformer for dotty

    Project mention: Language-assisted Flattening | reddit.com/r/ProgrammingLanguages | 2021-07-14

    dotty-cps-async [rssh/dotty-cps-async ] with automatic coloring do something very similar in two steps. Automatic coloring defines implicit conversion F[A] => A as x => await(x)(m). The compiler inserts those awaits inside async blocks and then eliminates them later via cps-transform. Exists some limitations which we need to add for effect monads like IO (we don't want run effect twice and don't want to screw semantics of effects by extra memoizing). So, if your language has a possibility to implement effect monads, then you need a possibility to restrict using Flattenable.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo free-arrow

    Implementation of the Free Arrow in Scala and other helpful tools for working with Arrows

    Project mention: Pure Functional Stream processing in Scala: Cats and Akka – Part 1 | reddit.com/r/scala | 2021-02-07

    Interesting post, although the use of `cats.IO` feels a little shoehorned. I've found some nice cats/akka synergy by abstracting over flows using a `cats.arrow.Arrow` instance for `akka.stream.scaladsl.Flow`. That might be just as shoehorned though, since I haven't yet worked out whether akkas `Flow` forms a lawful Arrow

  • GitHub repo turbolift

    A functional effect system, an alternative to both Eff monad and MTL

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-08-11.

Scala Monad related posts

Index

What are some of the best open-source Monad projects in Scala? This list will help you:

Project Stars
1 Learn-by-doing functional programming course on Scala 574
2 Eff 510
3 Each 249
4 monadless 241
5 Dsl.scala 235
6 Play monadic actions 129
7 dotty-cps-async 79
8 free-arrow 14
9 turbolift 1
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
scoutapm.com