Cats Instances for Java Time
Cats Instances for Scalacheck
/** | |
* Operates with default and anytime default is present instead information is removed from underlying ref. | |
**/ | |
class LiftedRefDefaultStorage[F[_]: Sync]( | |
val ref: Ref[F, Option[String]], | |
val default: String | |
) extends Ref[F, String]{ | |
def get: F[String] = ref.get.map(_.getOrElse(default)) | |
def set(a: String): F[Unit] = { |
package io.chrisdavenport.rediculous.ratelimiter | |
import cats.syntax.all._ | |
import io.chrisdavenport.rediculous._ | |
import cats.effect._ | |
import cats.effect.concurrent._ | |
import io.chrisdavenport.rediculous.RedisTransaction.TxResult.{Aborted, Success, Error} | |
import cats.Applicative | |
import scala.concurrent.duration._ | |
import cats.data.NonEmptyList |
package io.chrisdavenport.rediculous.ratelimiter | |
import cats.syntax.all._ | |
import io.chrisdavenport.rediculous.{RedisConnection, RedisTransaction} | |
import io.chrisdavenport.rediculous.RedisCommands.{zremrangebyscore, zadd, zcard, zrange, pexpire, ZAddOpts} | |
import cats.effect.Concurrent | |
import io.chrisdavenport.rediculous.RedisTransaction.TxResult.{Aborted, Success, Error} | |
import cats.Applicative | |
import scala.concurrent.duration._ |
package io.chrisdavenport.shapelessless | |
import cats._ | |
import cats.syntax.all._ | |
import cats.effect._ | |
import scala.deriving._ | |
import scala.compiletime._ | |
import org.tpolecat.typename._ |
// Based on a question from Julian Peeters https://github.com/julianpeeters | |
import cats._ | |
import cats.syntax.all._ | |
import cats.effect._ | |
object Test { | |
case class DynamicRegion[F[_], A](allocate: F[(A, F[Unit])]){ | |
def close(implicit F: FlatMap[F]): F[A] = | |
allocate.flatMap{case (a, shutdown) => shutdown.as(a)} |
import fs2._ | |
object CheckChunk { | |
def checkChunk[F[_]: Sync, A](s: Stream[F, A]): F[Option[Stream[F, A]]] = { | |
s.pull | |
.uncons | |
.flatMap { | |
case None => Pull.output1(None) | |
case Some((c, s)) => Pull.extendScopeTo(Stream.chunk(c) ++ s).flatMap(s => Pull.output1(Some(s))) | |
} |
Cats Instances for Java Time
Cats Instances for Scalacheck
[error] java.lang.StackOverflowError | |
[error] at cats.effect.internals.IORunLoop$.liftedTree1$1(IORunLoop.scala:98) | |
[error] at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:97) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:366) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:387) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:330) | |
[error] at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:141) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:366) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:387) | |
[error] at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:330) |
object HeaderP { | |
def parseHeaders[F[_]: MonadError[*[_], Throwable]]( | |
s: Stream[F, Byte], | |
maxHeaderLength: Int, | |
acc: Option[ParseHeadersIncomplete]) | |
: Pull[F, Nothing, (Headers, Boolean, Option[Long], Stream[F, Byte])] = | |
s.pull.uncons.flatMap { | |
case Some((chunk, tl)) => | |
val nextArr = acc match { |
Since scala changes a lot of files in build and vscode watches those files. It actually has quite a delay. Adding this to settings will improve performance by an enormous degree. Especially on larger projects.
"files.exclude": {
"**/.bloop": true,
"**/.metals": true,
"**/target": true