免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: freearth
打印 上一主题 下一主题

大家认为是否需要在国内的程序员中推广一下Haskell? [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-03-24 20:23 |只看该作者
这本书的目的在于推广函数式语言,我觉得主要面向的读者是“刚刚接触函数式语言的人”。
        这本书是介绍Haskell的书,目的在于学习Haskell语言本身和基本的函数式编程的思想。并不打算写成“C++ Primer”(我没猜错的话,你应该想说这本书吧?)那样的。

原帖由 DQP 于 2009-3-24 16:06 发表
支持 支持~~~~
我也正在学haskell。
我问2个问题下。
这本书是面向哪些读者呢?  刚接触编成的人还是有编程基础的人呢。
这是一本介绍haskell入门的书, 还是像C++ primary 那样的大全呢。

论坛徽章:
0
32 [报告]
发表于 2009-03-24 20:39 |只看该作者

回复 #32 freearth 的帖子

  这本书在我书架上几年。。。。。。
居然一直记着的是个错误的名字。。。。 要不是你今天指出我还要错很长时间。。。。。。

论坛徽章:
0
33 [报告]
发表于 2009-03-24 20:42 |只看该作者
三、四章对调还是二、四章对调,涉及到的是同一个问题:List和函数先讲谁?
我目前倾向于MMMIX的说法,把List放在函数之后。我目前对List的理解是,它在函数式语言中,不单单是一个数据结构,同时也充当着一定的“控制结构”的角色。正像MMMIX所说,List和函数关系紧密。另外,从写书的方面讲,在没有List的情况下,我们可以说清楚函数的所有特征;但是,在没有函数的情况下,将List就比较难讲清楚(比如List的递归定义的特征,其上的fold类操作等)。

提议将List放到函数前面讲的主要考虑和想法是什么?说说当时的思路,讨论一下吧

原帖由 flw 于 2009-3-24 16:16 发表

我觉得应该是二章和四章对调。

论坛徽章:
0
34 [报告]
发表于 2009-03-24 20:58 |只看该作者
我觉得你说的将应用性的东西和语言基础部分分开很对。

前面那个目录版本算是0.1版。现在,我的想法是把“代数数据类型”放到第五章的地方。
可是“Monad”、“并行与并发处理”、“异常处理”和“输入输出”这几部分,比较难以划分那些是语言基础,那些是应用。比如Monad,其实,除了“do”语法糖以外,其它的部分都可以用已有的语法定义出来,但是Monad的概念却非常重要。关于这个,有什么具体的建议吗?

另外我还有一个犹豫的地方:IO和Monad先讲谁?我看过的所有资料都会在没有Monad概念的时候先讲IO,等到后面讲完Monad后,再回顾一下IO。所以0.1版中就仿照做了。但是,我一直在想,是否可以把IO拖到Monad之后讲?在这之前,一直用一些简单的IO,并告诉读者不用担心IO,目前只要知道语义就好,直到讲过Monad之后,再用Monad的概念讲IO。大家对这个问题有什么建议?

原帖由 MMMIX 于 2009-3-24 16:34 发表

在 Haskell 中, list 的概念和 function 关联很紧密,把 list 的介绍放在函数的介绍之后我觉得还是妥当的。但是,从第五章开始,我觉得顺序就有些不妥了,一些应用性的东西和语言基本概念性的东西被混在了一 ...

论坛徽章:
0
35 [报告]
发表于 2009-03-24 21:02 |只看该作者
这个方法的确不错,我也支持

另外,我觉得以后讨论问题,针对每一个问题单开一个帖子,这样的话追踪对同一个问题的讨论会方便些。对于讨论问题的方式,大家有什么建议吗?

原帖由 izhier 于 2009-3-24 17:16 发表

一章来一个帖子
一节再站一楼

while 1:
   if 新手看不懂:
       跟贴问疑
       楼主改之

是否可行

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
36 [报告]
发表于 2009-03-24 21:26 |只看该作者
原帖由 freearth 于 2009-3-24 20:58 发表
可是“Monad”、“并行与并发处理”、“异常处理”和“输入输出”这几部分,比较难以划分那些是语言基础,那些是应用。比如Monad,其实,除了 “do”语法糖以外,其它的部分都可以用已有的语法定义出来,但是Monad的概念却非常重要。关于这个,有什么具体的建议吗?

Monad 算作语言要素,其他的算作使用部分,包括 I/O。因此,先讲 monad,后讲 I/O。之所以把 I/O 压后,是因为既然是以介绍函数式编程思想为主,那么 I/O 就不是那么重要。再说了,想要先了解 I/O 的人可以翻到后面直接看嘛。

论坛徽章:
0
37 [报告]
发表于 2009-03-24 23:25 |只看该作者

回复 #34 freearth 的帖子

提议将List放到函数前面讲的主要考虑和想法是什么?说说当时的思路,讨论一下吧


不是太清楚 List 和函数的关系
只是觉得:
将 haskell 语言中的基本类型放在前面讲
可以使我们这些新手有一个全局的把握
好多书都是先讲基本类型,然后是函数,类,异常

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
38 [报告]
发表于 2009-03-25 09:09 |只看该作者
没讲函数之前又不是不能用函数,难道学不会 Monad 就不用 print 了?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
39 [报告]
发表于 2009-03-25 09:11 |只看该作者
原帖由 MMMIX 于 2009-3-24 21:26 发表

Monad 算作语言要素,其他的算作使用部分,包括 I/O。因此,先讲 monad,后讲 I/O。之所以把 I/O 压后,是因为既然是以介绍函数式编程思想为主,那么 I/O 就不是那么重要。再说了,想要先了解 I/O 的人可以翻 ...

IO 还是早点儿涉及吧。
没有 IO 的语言是很莫名其妙的,除非书很薄。

我看这点 RWH 就比 YAHT 要好。

论坛徽章:
0
40 [报告]
发表于 2009-03-25 09:22 |只看该作者
我目前对List的理解是,它在函数式语言中,不单单是一个数据结构,同时也充当着一定的“控制结构”的角色。正像MMMIX所说,List和函数关系紧密。

折中一下可否
先介绍 tuple 和 list 的最基本的概念,但不涉及 list 的“控制结构”的角色
再介绍函数
然后重点介绍 list 的“控制结构”的角色
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP