9

我有兴趣在自己的时间(而不是通过课程)学习 Haskell,但我怀疑我的数学背景可能不足以理解重要的语言概念 (TBD)。

我有一年的大学微积分(单变量),但没有离散数学或逻辑。

我会在数学上遇到空白吗?

4

7 回答 7

11

你为什么不试试看呢?

Haskell 的设计借鉴了范畴论(monads、arrows、transformers)等领域的数学思想,但大多数 Haskell 程序员只了解这些与编程的关系:-)

你不需要任何特别高级的数学来学习 Haskell,除了能够在数学意义上思考一个函数(比如,“a map f: X -> Y”而不是作为执行某些操作的“子程序”)动作),能够考虑高阶函数(例如,说“'compose f g' 是一个在输入 x 处具有值 f(g(x)) 的函数”)等等。Haskell 的符号非常干净,所以这也不应该是一个问题。

于 2008-11-20T01:58:33.043 回答
5

Haskell 的重要概念对所有纯函数式语言也很重要,我相信不一定需要高等数学。

考虑到你已经有一年的微积分,你会没事的。

虽然有 lambda 演算的背景可能很好,但这对 Haskell 来说并不是硬性要求。

于 2008-11-20T01:57:07.947 回答
5

你会没事的。水是温暖的。跳进去!

于 2008-11-20T02:14:05.947 回答
3

数学?嗯,没有。你根本不需要数学(就像代数、微积分、几何这个词的常识中的数学),但你确实需要一个逻辑(逻辑==数学?)大脑来编程,就像使用任何其他语言一样

于 2008-11-20T02:35:33.547 回答
3

大约八年前,我自学了 Haskell,只学过商业微积分,我认为不需要任何数学。

于 2008-12-04T22:27:30.127 回答
2

我相信 Haskell 会教给你很多逻辑和离散数学,然后学习 Haskell,你也会获得一些数学技能 :)

于 2008-12-02T06:58:35.310 回答
2

你知道的代数和范畴论越通用越好,因为 Haskell 从这些数学分支(即 Monad、代数类型系统、箭头和函子)中汲取了很多东西。

于 2008-12-13T03:32:08.813 回答