为什么`:type`有时显示`a`,而有时显示`t`?

坎布拉卡

我有以下两个功能:

cleanUp a = Data.List.filter (/=[]) a

joinByPairs [] = []
joinByPairs (x:[]) = (x:[])
joinByPairs (x:y:xs) = (x ++ y) : joinByPairs xs

当我将它们加载到中ghci并调用:type它们时,我得到以下结果:

*Main> :type joinByPairs
joinByPairs :: [[a]] -> [[a]]
*Main> :type cleanUp
cleanUp :: Eq t => [[t]] -> [[t]]

它显示avs的逻辑是什么t我不认为这是Eq t部分原因,因为我还有其他显示类似的功能otherFunction :: Eq a => [[a]] -> [[a]]

卡尔

这是因为选择了类型变量名称的方式。全新的变量get t在类型签名中命名的类型变量会保留类型签名中的名称。统一类型变量时,GHC倾向于保留来自显式类型签名的名称。如果没有子表达式具有显式类型签名,则除了t与之统一以外没有其他名称

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么有时显示背景而有时不显示背景?

来自分类Dev

为什么vim有时显示^ M而有时不显示(即使它们在那里)?

来自分类Dev

为什么网页有时在刷新前有时显示为纯HTML

来自分类Dev

为什么AS有时会接受大位移而有时却不接受?

来自分类Dev

为什么Ruby Procs有时会返回而有时却是错误?

来自分类Dev

为什么AS有时会接受大位移而有时却不接受?

来自分类Dev

pip:为什么有时不显示 twine 命令

来自分类Dev

为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

来自分类Dev

在htop的命令列中,有时显示完整路径,有时则不显示。为什么?

来自分类Dev

为什么此URLClassLoader有时起作用而有时却不起作用?

来自分类Dev

为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

来自分类Dev

为什么ng-model有时会预先填充而有时却没有?

来自分类Dev

为什么我有时会出错而有时却没有呢?

来自分类Dev

为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

来自分类Dev

为什么显示的图像有时显示而其他时间不显示?

来自分类Dev

为什么显示的图像有时显示而其他时间不显示?

来自分类Dev

为什么同一条SQL有时会报告错误,而有时却运行良好?

来自分类Dev

在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

来自分类Dev

为什么有时在列中得到最后一个变量,而有时在列中得到所有不同的变量?

来自分类Dev

有时不显示波纹效果

来自分类Dev

PHP的邮件有时显示符号

来自分类Dev

为什么Jenkins工件有时不显示为链接?

来自分类Dev

为什么我的定制按钮有时显示不正确?

来自分类Dev

为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

来自分类Dev

为什么有时可以使用NodeJS缓冲区连接音频数据,而有时却不能呢?

来自分类Dev

为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

来自分类Dev

为什么QEMU的hostfwd选项有时需要root访问,而有时却不需要root访问

来自分类Dev

为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

来自分类Dev

AutoCompleteTextView有时显示建议,但有时不显示

Related 相关文章

  1. 1

    为什么有时显示背景而有时不显示背景?

  2. 2

    为什么vim有时显示^ M而有时不显示(即使它们在那里)?

  3. 3

    为什么网页有时在刷新前有时显示为纯HTML

  4. 4

    为什么AS有时会接受大位移而有时却不接受?

  5. 5

    为什么Ruby Procs有时会返回而有时却是错误?

  6. 6

    为什么AS有时会接受大位移而有时却不接受?

  7. 7

    pip:为什么有时不显示 twine 命令

  8. 8

    为什么vim有时显示^ M,有时却不显示(即使它们在那里)?

  9. 9

    在htop的命令列中,有时显示完整路径,有时则不显示。为什么?

  10. 10

    为什么此URLClassLoader有时起作用而有时却不起作用?

  11. 11

    为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

  12. 12

    为什么ng-model有时会预先填充而有时却没有?

  13. 13

    为什么我有时会出错而有时却没有呢?

  14. 14

    为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

  15. 15

    为什么显示的图像有时显示而其他时间不显示?

  16. 16

    为什么显示的图像有时显示而其他时间不显示?

  17. 17

    为什么同一条SQL有时会报告错误,而有时却运行良好?

  18. 18

    在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

  19. 19

    为什么有时在列中得到最后一个变量,而有时在列中得到所有不同的变量?

  20. 20

    有时不显示波纹效果

  21. 21

    PHP的邮件有时显示符号

  22. 22

    为什么Jenkins工件有时不显示为链接?

  23. 23

    为什么我的定制按钮有时显示不正确?

  24. 24

    为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

  25. 25

    为什么有时可以使用NodeJS缓冲区连接音频数据,而有时却不能呢?

  26. 26

    为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

  27. 27

    为什么QEMU的hostfwd选项有时需要root访问,而有时却不需要root访问

  28. 28

    为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

  29. 29

    AutoCompleteTextView有时显示建议,但有时不显示

热门标签

归档