作者:mobiledu2502920897 | 来源:互联网 | 2023-05-27 21:51
我们说如果函数的参数是严格的
f ? = ?
但是我们怎么说一个函数在其参数中是非严格的呢?我们可以说一个函数是非严格的,如果
f ? ? ?
?
这如何扩展到许多参数的函数,我们可能会或可能不会根据其他参数的值来评估参数?
我在使用Haddock文档更好地记录Haskell函数的严格性属性的上下文中问这个问题.
1> augustss..:
表达复杂严格性属性没有标准符号.它也不仅仅是严格的简单,因为对于数据结构,您可能需要确切地说出评估的数量.
也就是说,对于像这样的简单功能
cond c t e = if c then t else e
你可以想象说严格是1 & (2 | 3)
,意味着它将评估第一个参数,以及第二个或第三个参数.这些是严格的属性,简单的严格性分析器将提出.(简单的似乎是唯一值得的.)