strictness

strictness

文章 0 浏览 3

数据类型中严格字段的​​优点

现在这可能有点模糊,但我已经想知道这一点有一段时间了。据我所知,使用 !,可以确保在构造值之前对数据构造函数的参数进行求值: data Foo = Bar !I…

南巷近海 2024-12-22 06:10:27 2 0

Foldl 是否比它严格的表亲 Foldl' 更好?

Haskell 有两个列表左折叠函数:foldl 和一个“严格”版本 foldl'。非严格的 foldl 的问题在于它构建了一个 thunk 塔: foldl (+) 0 [1..5] --> ((((0…

情愿 2024-12-17 22:00:47 1 0

是运算符 && Haskell 严格吗?

例如,我有一个操作 fnB :: a -> Bool 在 fnA :: Bool 返回 False 之前没有任何意义。在 CI 中,可以将这两个操作组合在一个 if 块中: if( fnA && fn…

路弥 2024-12-07 07:33:42 4 0

什么是弱头范式?

弱头范式 (WHNF) 是什么意思? Head Normal form (HNF) 和 Normal Form (NF) 是什么意思? 现实世界 Haskell 指出: 熟悉的seq函数将表达式计算为我们…

り繁华旳梦境 2024-11-27 08:15:36 3 0

为什么 map 不强制严格,而 zipWith 却强制严格?

zipWith 函数有两个严格版本: 1)真正严格,列表 l1 和 l2 的元素被评估,因此它们的 thunk 不会占用所有堆栈空间(Don Stewart 代码) zipWith' f l…

︶葆Ⅱㄣ 2024-11-17 14:54:06 5 0

如何在haskell中使表(Data.Map)严格?

为了学习 Haskell(很好的语言),我正在尝试 Spoj 中的问题。 我有一个包含 19000 个元素的表,这些元素在编译时都是已知的。 如何使表格严格限制“s…

浮世清欢 2024-11-07 08:56:35 9 0

未装箱类型和严格性之间有什么关系?

未装箱的类型(例如 Int#)和严格函数(例如 f (!x) = ...)是不同的,但我看到概念上的相似性 - 它们不允许 thunks/在某种程度上的懒惰。如果 Haskel…

鼻尖触碰 2024-09-07 11:05:40 7 0
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文