C语言实际上是一种命令式语言。
Haskell我认为完全不同,因为它是一种函数式编程语言。
来自C(不是专家),为了在Haskell上获得足够的知识水平,我必须面对的主要问题是什么?
由于
Melawe
答案 0 :(得分:5)
非详尽清单:
return
并不代表您认为的含义。if
- then
- else
更像是C ?
- :
而不是C if
- else
。特别是,else分支不是可选的。if
块中使用then
- else
- do
时要特别小心。map
/ fmap
/ <$>
,foldr
/其他折叠函数,filter
,zip
/ zipWith
/等,或列出理解取决于你的“循环”的作用。 (如果需要,可以使用递归。)答案 1 :(得分:0)
这取决于你对“足够”的定义。众所周知,Haskell monad很难掌握,但是你应该能够通过简单的练习开始运行,这样你就可以习惯于以“功能方式”思考,并熟悉类型系统。作为初学者,我强烈建议您开始Programming in Haskell。
答案 2 :(得分:0)
主要的麻烦?我想你最初会错过可变结构。
至少,当我花费太多时间处理程序语言之后,当我开始使用函数式语言时,我会发生这种情况。