sbt-tpolecat
cats-retry | sbt-tpolecat | |
---|---|---|
3 | 6 | |
273 | 371 | |
- | 0.5% | |
2.5 | 7.3 | |
17 days ago | 14 days ago | |
Scala | Scala | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cats-retry
-
Why are effects better for retries than Future?
To try to answer the top-level question "Why are effects better for retries than Future?" I would say "because the effect types rest on a runtime that supports cancellation and error-handling with rigorous algebraic semantics." If we look at cats-retry, for example, we find implementations that require a Monad and a Sleep instance or a MonadError and a Sleep instance. The Sleep typeclass, probably unsurprisingly, just exposes a sleep effect. But look at the companion object: the only instance of the typeclass it provides is for type constructors with a cats-effect Temporal instance. IO has such an instance. Future does not, and cannot.
-
How to do supervision without actors?
cats-effect has a Supervisor that allows you to do exactly that, with basically the same semantics. You can then have fire-and-forget or managed semantics at will, depending on your use case, and even retry logic
- How to retry HTTP requests synchronously in Scala?
sbt-tpolecat
-
Scala Resurrection
I'm awed by the maturity of the Scala 2 compiler. Every minor version in the 2.13 series adds a new linting improvement. You can see that if you have sbt-tpolecat in your project. I'm always happy to see that some option from Wartremover is no longer used.
-
Why are effects better for retries than Future?
Note that this assumes that non-Unit values are silently thrown away, which you should always configure scalac, preferably via sbt-tpolecat, not to allow.
-
New to Scala;
sbt-tpolecat to automatically provide reasonable Scala compiler settings.
-
Scala and Java Upgrade strategy
Start with settings strict compiler flags if you haven't already, for instance using sbt-tpolecat. This will help you remove the most obvious warts in your codebase.
-
Which static analysis tool do you use for Scala?
However, after a while, I found that most of the things I needed were already covered by the compiler. And that Rob's (aka tpolecat) list of compiler options provided all the ones I needed for my style of coding. I Then learn that there was this sbt plugin that managed the list for me and also took care of changing the options according to the Scala version.
-
Is there a way to beautify the code after Scala 3 migration?
Sorry, have nothing useful to contribute (although I'd recommend you to set a restrictive set of scalac flags, for example from sbt-tpolecat, to let compiler help you), but just wanted to praise the Scala team and remind us of all those "Python 3 situation" rants we've saw 2 years ago and how silly they look now.
What are some alternatives?
retry - because you should never give up, at least not on the first try
scaluzzi - Additional rules for Scalafix. The part of scalazzi rules.
block-explorer - The official Stakenet block explorer
Scalafix - Refactoring and linting tool for Scala
scalafix-organize-imports - A CI-friendly Scalafix semantic rule for organizing imports
sbt-jni - SBT Plugin to ease working with JNI
sbt-dependency-check - SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow:
Wartremover - Flexible Scala code linting tool
skunk - A data access library for Scala + Postgres.
sbt-native-packager - sbt Native Packager
Scapegoat - Scala compiler plugin for static code analysis
scala-pet-store - An implementation of the java pet store using FP techniques in scala