gpt4 book ai didi

haskell - "Empty"可遍历 - 这有意义吗,它是否在任何库中提供?

转载 作者:行者123 更新时间:2023-12-04 13:30:24 25 4
gpt4 key购买 nike

我正在编写一段使用 Traversable 抽象的 Haskell 代码。 .在这个抽象背后,我希望能够隐藏所有常规的可遍历结构,如列表、树、 map 等,特殊情况为 Data.Functor.Identity.Identity作为包含单个值的基本结构。我还想介绍一个“空”结构的情况。这种“空”的可遍历实例是否存在?也许它已经由任何图书馆提供?

我第一次(也许是天真的)尝试定义这样的实例如下。是否有意义?

data Empty a = Empty

instance Functor Empty where
fmap _ _ = Empty

instance Foldable Empty where
foldr _ init _ = init

instance Traversable Empty where
sequenceA _ = pure Empty

最佳答案

就基本类型而言, Proxy 正是如此。 Const () 也可以。 (还有 U1 ,但这是泛型机制的一部分,在其他情况下可能会觉得有点不合适。)

关于haskell - "Empty"可遍历 - 这有意义吗,它是否在任何库中提供?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893655/

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