내가 유형 VS[Option[B]]의 결과를 얻으려면 내가 type VS[A] = Validation[String, A]
val v: VS[Option[A]]
val f: A => VS[B]
이 있다고 가정하지만 v이 Success(None) 인 경우, 결과는 또한 Success(None)해야한다. 그런 다음 scala> val v: VS[Opti
val f: A => M[B]과 val g: B => M[C]의 두 함수가 있다고 가정 해 봅시다. 여기서 M은 모나드입니다. 따라서 저는 kleisli를 사용하여 그것들을 결합하고 싶습니다. 현재 내가하는 일은 다음과 같습니다. kleisliU(f) andThenK g 하지만 먼저 수동으로 kleisli에 배치하지 않고이 조합을 실행할 수있는 방법을 찾지
스칼라에서 >=> (Kleisli 화살표)을 사용하려고합니다. 내가 이해하는 한, 모나드를 반환하는 함수를 구성합니다. 이제 다음과 같이 시도합니다 :
scala> val f = {i:Int => Some(i + 1)}
f: Int => Some[Int] = <function1>
scala> val g = {i:Int => Some(i.toStri
나는 다음과 같은 두 가지 Kleisli 화살표를 한 경우 : 내가 좋아하는가 someting 쓸 수 있도록하고 싶습니다 stdoutProcessA :: Kleisli Maybe String (IO String)
writeToFileA :: Kleisli Maybe (FilePath, String) (IO())
: 물론 작동하지 않습니다 compile