scala-cats

    0熱度

    1回答

    我遇到cats/monads /理解問題。 請考慮下面的代碼片段: import cats._ import cats.implicits._ final case class My[T]() implicit val monadMy: Monad[My] = new Monad[My] { ... } // this compiles def test11[A, B](m: My[

    3熱度

    1回答

    在寫我面臨着以下異常測試: java.lang.ClassCastException: codegen.java.lang.Object$MockitoMock$641592186 cannot be cast to cats.effect.IO (MyRepositorySpec.scala:19) 運行與specs2這個測試代碼時出現這種情況: class MyRepositorySpec

    0熱度

    1回答

    我在想,如果有升降值代入選項,同時具有自己的空虛的概念,例如一種方式 import cats._, cats.data._, cats.implicits._ Applicative[Option].pure(List.empty[String]) 給人 res1: Option[List[String]] = Some(List()) 但我不想在這種情況下返回None,因爲列表是空的

    4熱度

    1回答

    我正在使用cats lib。 這是很容易利用其適用函子實例(或Cartesian,要準確)兩個清單合併: import cats._ import cats.implicits._ (List(23, 4), List(55, 56)).mapN(_ + _) >> List(78, 79, 59, 60) 不過,我似乎無法能夠做同樣的兩個功能: val strLength: Stri

    4熱度

    3回答

    我想知道是否有方法將List[Kleisli[Option, Int, Int]]轉換爲Kleisli[Option, Int, List[Int]]。 特別是我有這樣形成kleisli名單: 我要做的就是以下 Kleisli[Option, Int, List[Int]](m => kList.map(_.run(m)).sequence) 這是非常凌亂,沒有表現,需要大量的人工勞動。 有沒

    2熱度

    1回答

    我一直在玩免費的Monad of Cats。我已經寫了一個DSL來處理CSV記錄。原始操作是處理CSV記錄,並且我自己編寫了一個幫助程序sequence和map2函數用於processCSVRecords操作。我希望case類的返回類型是泛型類型R。以下是我正在使用的代碼。 import cats.data.Coproduct import cats.free.Free.inject impo

    0熱度

    2回答

    找不到最常用的方式來折EitherT[Future, Throwable, A]到Future[A],其中Either的左側將表示爲失敗的Future。

    2熱度

    1回答

    我有兩個DSL - EmployeeAction和ContactAction。這裏是我的特質(操作) 完整的要點是:link sealed trait EmployeeAction[R] case class GetEmployee(id: Long) extends EmployeeAction[Either[Error, Employee]] sealed trait ContactAc

    1熱度

    1回答

    從來就一直看着單子變壓器的一些例子有Cats,我試圖重現那些Scalaz 在這裏,我有一個爲理解我第一次收到一個可選的,我flatMap與OptionalT,第二個函數返回員工的未來。 這裏我的代碼 //Attributes for this example sealed trait Employee { val id: String } final ca

    3熱度

    1回答

    我想加入2 Future[Option[_]]: def foo: Future[Option[Int]] = ??? def baz: Future[Option[Int]] = ??? 有可能加入對Future: foo |@| baz map((fooOpt, bazOpt) => ???) 和可能加入對Option: Option(1) |@| Option(2) map ((a