私は(コースを通してではなく)自分の時間でHaskellを学ぶことに興味がありますが、私の数学のバックグラウンドは重要な言語の概念(TBD)を理解するには不十分かもしれないと思います。
私は大学の微積分(単一変数)を1年間経験しましたが、離散数学や論理はありませんでした。
数学のギャップにぶつかるでしょうか?
試してみませんか?
Haskell の設計は、圏論 (モナド、アロー、変換子) のような分野の数学的なアイデアから借用していますが、ほとんどの Haskell プログラマーは、とにかくプログラミングに関連してこれらが何であるかを理解するだけです :-)
Haskell を学ぶのに特に高度な数学は必要ありません。たとえば、関数を数学的な意味で考えることができればよいのです (「サブルーチン」としてではなく、「f: X -> Y のマップ」など)。アクション)、高階関数について考えることができる (たとえば、「'compose f g' は、入力 x で値 f(g(x)) を持つ関数である」など) などです。Haskell の表記法は非常にきれいなので、それも問題にはなりません。
Haskellの重要な概念は、すべての純粋関数型言語にとっても重要な概念であり、必ずしも高度な数学を必要としないと思います。
あなたが微積分の年を過ごしたことを考えると、あなたは大丈夫でしょう。
ラムダ計算のバックグラウンドを持つことは良いことかもしれませんが、Haskellにとって難しい要件ではありません。
大丈夫です。水は暖かいです。飛び込んで!
算数?ええと、いいえ。数学はまったく必要ありません (代数、微積分、幾何学という言葉の常識における数学のように) が、他の言語と同じようにプログラミングするには論理的な (論理==数学?) 頭脳が必要です。
私は約 8 年前に Haskell を独学しましたが、ビジネス微積分しか持っていなかったので、数学は必要ないと思います。
Haskell はこれらの数学の分野 (つまり、モナド、代数型システム、アロー、ファンクター) から多くのことを取り入れているため、より普遍的な代数と圏論を知っていればいるほど良いでしょう。
Haskell は多くの論理と個別の数学を教えてくれるので、Haskell を学べば数学のスキルも身につくと思います :)