Slide 59
Slide 59 text
'ͷ۩ମతͳܕͱͯ͠,MFJTMJΛ༻͍Δ
,MFJTMJϞφσΟοΫͳؔΛදݱ͢Δܕ
$PODSFUFUZQFGPSA'AXJUI,MFJTMJ
,MFJTMJJTBNPOBEJDGVODUJPOUZQF 3FBEFSNPOBE
4JNQMJpFEA"TZOD*0AJT
type Ctx = (DBSession, ExecutionContext)
type AsyncIO[A] = Kleisli[Future, Ctx, A]
// package cats.data
final case class Kleisli[F[_], A, B](run: A => F[B]) { self =>
...
}
type AsyncIO[A] = (DBSession, ExecutionContext) => Future[A]