首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么Haskell强制数据构造函数的第一个字母为大写?

为什么Haskell强制数据构造函数的第一个字母为大写?
EN

Stack Overflow用户
提问于 2011-06-04 23:57:37
回答 3查看 4.6K关注 0票数 22

举个丑陋的例子:

代码语言:javascript
复制
data Bighead = Big

little = 1 

f1 = little :: Int

f2 = Big :: BigHead

在我看来:

f1f2都指向一些数据。(littleBig)唯一的不同是很少有一段代码来做评估。但Big并非如此。

它们都有一个可重写的主体,几乎不能从一个数据集合转换成一个结果,而Big就是不做最后一步-它总是保存这些数据表单(但可以递归地计算它们)。

但在语法形式上,它们几乎是相同的:可以应用,可以求值。

一个大问题可能是函数不能改变它的应用参数,但数据可以改变。

这是Haskell区别对待数据和函数名称的唯一原因吗?

调用分析:-)

编辑: more pads

代码语言:javascript
复制
data A = B Int

B的类型

代码语言:javascript
复制
B :: Int -> A

b :: Int -> A

b = B 
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6237775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档