gpt4 book ai didi

haskell - 在我自己的 Queue 类型中包装 Data.Sequence 有什么问题吗?

转载 作者:行者123 更新时间:2023-12-01 08:21:43 24 4
gpt4 key购买 nike

我想为我的申请设置一个队列。根据我的阅读,Data.Sequence是生产代码的最佳选择。为了让我的代码保持优雅、惯用和整体 Haskelly,将 Data.Sequence 包装在我自己的 Queue 数据类型中以隐藏我不需要的功能有什么问题吗?

最佳答案

没有错——事实上,这正是 newtype 的用途!

理想情况下,您的类型应该反射(reflect)您的意图 - 阅读您的代码的任何人(包括您自己,将来,当您忘记自己做了什么以及为什么)都应该能够分辨出一个类型 用于

因此,即使您的队列只是一个 Sequence,将其包装到您自己的 Queue 新类型中也会告诉(人类)读者“这个特定的序列将被使用用于排队” - 除了隐藏非必需功能和防止混淆您的值的好处(即,不会意外传递另一个 不是 应该是队列的 Sequence一个需要队列的函数)。

关于haskell - 在我自己的 Queue 类型中包装 Data.Sequence 有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519413/

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