scalabook
IO
Формальное определение
Тип данных ввода-вывода.
Определение в виде кода на Scala
sealed trait IO[+A]: private[effect] def apply(rw: World[RealWorld]): Trampoline[(World[RealWorld], A)]
Реализация
Реализация в ScalaZ
import scalaz.*import Scalaz.*import scalaz.effect.*import scalaz.effect.IO.*
val action1 = for x <- readLn _ <- putStrLn("Hello, " + x + "!") yield ()action1.unsafePerformIO()
Ссылки: