单字母变量名字典 | 博客

主要观点:Haskell 的表达型类型系统使类型签名可携带大量信息,多态性导致有时需用单字母变量名,介绍了一些单字母变量名在 Haskell 中的约定及含义,包括用于各种类型(如ArrowFunctor等)、约束、值(如ByteString、错误类型等)等方面,还提及变量命名常依赖上下文,该字典并非详尽,且给出了多个类型变量的示例和解释。
关键信息:

  • 介绍了az_等单字母变量在 Haskell 中的多种用途,如a用于Arrow类型等,b用于ByteString等。
  • 提到变量命名常依上下文而定,短变量名仅在合适语境中使用,如函数的(...) =>上下文等。
  • 说明字典并非 exhaustive,且感谢多人对其内容的贡献和建议。
    重要细节:
  • a:很少用于Arrow类型,常易混淆,推荐arrk
  • b:作为值时不建议用于任意ByteString,更常用bytes
  • c:可用于约束或Category类的类型变量,可用catk替代。
  • e:作为类型或值可用于“错误”或异常类型,个人更喜用ex
  • fgh:用于Functor或类似类型及任意函数。
  • k:用于键值映射的键类型等多种情况,如mapWithKey中的k
  • m:用于MonoidMonad类型及值,有时用m'等区分。
  • n:用于类型级自然数或数值量。
  • p:用于命题或谓词,个人更喜用pred_f
  • s:用于状态类型或任意String/Text
  • t:用于TraversableFoldable结构等。
  • xyz:用于任意未知值,常加s后缀表示多个值。
  • _:用于空白模式。
阅读 27
0 条评论