gpt4 book ai didi

scala - Scalaz 中的 Tower[A] 和 IvoryTower 是什么?

转载 作者:行者123 更新时间:2023-12-04 07:52:55 24 4
gpt4 key购买 nike

当我看着 scalaz.effect.IO源代码,我注意到它有一个方法 apply带有以下签名:

sealed trait IO[A] {
def apply(rw: Tower[IvoryTower]): Trampoline[(Tower[IvoryTower], A)]
}
Tower[A]IvoryTower定义为:
case class Tower[A]()
sealed trait IvoryTower

有一个 Tower 的实例:
object IvoryTower extends IvoryTowers

trait IvoryTowers {
val ivoryTower = Tower[IvoryTower]()
}

这些类(class)的目的是什么?为什么 IO.apply接受类型为 Tower[IvoryTower] 的参数?

最佳答案

这是一个笑话:IvoryTower是一个名为 RealWorld 的 Haskell 类型的端口. (我确实希望它有一个更清晰的名字——这个名字对新手来说既难以理解又实际上并不有趣)。见例如https://wiki.haskell.org/IO_inside .

关于scala - Scalaz 中的 Tower[A] 和 IvoryTower 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29274951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com