AT
fa.as(b) в синтаксисе функтораSize: a a a
AT
fa.as(b) в синтаксисе функтораλƒ
as(b: B)AA
def printData[F[_] : Monad](data: List[String], pdfDoc: PdfDocument[F]): F[Unit] = {
if (data.isEmpty) {
pdfDoc.pure()
} else {
for {
_ <- pdfDoc.addText(data.head)
} yield {
printData(data.tail, pdfDoc)
}
}
}fDocument[F] => PdfDocument[Future] в этом случаеVE
addText возвращает F[Unit]?AA
М
data.traverse(pdfDoc.addText)?VE
pdfDoc.addText(data.head) >> printData(data.tail, pdfDoc)
KS
flatMap, так что способы и Михаила и Василия одинаково пригодныVE
VE
data.traverse(pdfDoc.addText)?AA
P
case class Context(cats: Int, dogs: Int).MonadState[F, Context]. И я хочу получить нужный MonadState[F, Int].meow-mtl позволяет мне это сделать просто вызвав MonadState[F, Int], но он, как я понимаю, выбирает по типу, то есть я не могу выбрать dogs это будет или cats.cats и dogs во врапперы?λ
case class Context(cats: Int, dogs: Int).MonadState[F, Context]. И я хочу получить нужный MonadState[F, Int].meow-mtl позволяет мне это сделать просто вызвав MonadState[F, Int], но он, как я понимаю, выбирает по типу, то есть я не могу выбрать dogs это будет или cats.cats и dogs во врапперы?P
λ
VS
sql"".query.streamVS
P
sql"".query.streamλ
sql"".query.stream