相关疑难解决方法(0)

静态类型,多态性和专业化

当我第一次学习Haskell时,我很快就开始喜欢参数多态.这是一个令人愉快的简单想法,工作得非常好.整个"如果它编译它通常工作正常"的事情主要是由于参数多态,恕我直言.

但是前几天,我发生了一件事.我可以写成foo多态函数.但是当bar调用时foo,它将使用一组特定的参数类型来完成.或者,如果bar它本身是多态的,那么它的调用者将分配确定的类型.通过归纳,似乎如果您要采用任何有效的Haskell程序并分析整个代码库,您可以静态地确定整个程序中每个事物的类型.

从某种意义上说,这有点像C++模板.没有运行时多态,只有编译时多态.Haskell编译器可以选择为每个调用每个多态函数的类型生成单独的机器代码.大多数Haskell编译器没有,但如果你愿意,你可以实现一个.

只有当你开始添加Haskell扩展(ExistentialQuantification显而易见的是)时,你才开始获得真正的运行时多态性,你可以在其中获得无法静态计算类型的值.

哦,是的,我的问题?

  1. 以上陈述是否真的正确?

  2. 这个属性有广泛使用的名称吗?

haskell types

29
推荐指数
3
解决办法
2335
查看次数

标签 统计

haskell ×1

types ×1