scalaz

    0熱度

    1回答

    我想跟隨在一些差距https://github.com/functional-streams-for-scala/fs2/wiki/Binding-to-asynchronous-processes 灌裝的第一個例子創建過程,並增加了一些調試打印我到了下面的代碼: import java.util.concurrent.ScheduledExecutorService import scala.

    4熱度

    2回答

    我正在嘗試編寫下面的驗證函數,以便驗證在遇到第一個錯誤後停止。返回類型three與其他功能不同。我爲了編譯這個代碼而使用哪個monad變換器? import scalaz._ import Scalaz._ import scala.concurrent.Future import scala.concurrent.ExecutionContext.Implicits.global d

    5熱度

    1回答

    我有以下的驗證邏輯: def one(a : String) : Validation[String, Int] = if (a == "one") { Success(1) } else { Failure("Not One") } def two(a : String) : Validation[String, Int] =

    1熱度

    1回答

    對於下面的例子從Scalaz回購Kleisli功能組成: import scalaz._ import Scalaz._ import Kleisli._ import scala.util._ case class Continent(name: String, countries: List[Country] = List.empty) c

    0熱度

    2回答

    當瀏覽一個piece of Scala code at aws-scala by Atlassian你可以找到以下行: type QueueURL = String @@ QueueURL.Marker 我是新來的Scala,所以我可能是錯的,但@@(雙at符號)似乎並不像一個標準的內置在Scala運算符中。而且,細心的讀者會發現它從「scalaz」庫中導入: import scalaz.{

    0熱度

    1回答

    我想定期從一些源提取數據,每小時一次。我這樣做,因爲數據獲取花費了大量的時間,大約10分鐘。所以,我緩存這些數據。 我有這樣的代碼現在: import java.util._ object Loader { @volatile private var map: Map[SomeKey, SomeValue] = Map() def start() { val

    1熱度

    1回答

    我想用自己的錯誤類型來包裝異常,並利用scalazs析取。 下面的代碼應編譯 trait Result trait Error extends Result object MyError extends Error object OK extends Result val r: Error \/ OK.type = tryCatchIn(_ => MyError /*:Error*/)

    0熱度

    1回答

    我一直在使用Memo從scalaz了一段時間,但是,這裏要說的是,我覺得我不能夠保持pure情況: def compute(a: Int, b: Int): Int = {a+b} //an expensive computation val cache = Memo.immutableHashMapMemo[(Int, Int), Int]{ case ((a,b)) => comp

    4熱度

    1回答

    在Haskell,我可以做以下字符串 let f = sequence [id, reverse] f "test" 我在一個小的損失如何使用貓在一個更好的方法處理這個。我目前有類似的東西 val f = List(fun1,fun2) val data = "test" f map {fun => fun(data)} 是否有序列或SequenceU的實現可以使用貓做到這一點?

    14熱度

    1回答

    我所有的API方法都返回Future [Option [T]],試圖找出如何優雅地執行下列操作: case class UserProfile(user: User, location: Location, addresses: Address) 下面的代碼目前不編譯,因爲用戶,位置和地址都是選項[用戶],選擇[位置]和選項[地址] val up = for { user <- userSe