I'm interested in learning Haskell on my own time (not through a course), but I suspect that my math background may be insufficient to grok important language concepts (TBD).
I have had a year of college calculus (single variable), but not discrete math or logic.
Am I going to run into gaps in my math?
In addition to this, a knowledge of calculus is necessary to prove results in statistics. Calculus One: In the first course of the calculus sequence you will learn to think carefully about functions, exploring topics such as limits and continuity.
However, success and ability in math is malleable, not fixed. Every student can be good at math with practice in a supportive learning environment. MYTH: You don't need to learn math to be successful—unless you are going to be an aerospace engineer. TRUTH: Everyone needs math and uses math.
1. Algebra: Algebra is a branch of mathematics that studies symbols and the rules that control how they are used.
The general rule of thumb is that for each credit hour, you should spend 2-3 hours a week outside of class studying. For example, in a 3-credit class, you should spend 6-9 hours each week outside of class studying, and for a 4-credit class, you should spend 8-12 hours per week.
Why don't you just try it and see?
The design of Haskell has borrowed from mathematical ideas in areas like category theory (monads, arrows, transformers), but most Haskell programmers only understand what these are in relation to programming anyway :-)
You don't need any particularly advanced mathematics to learn Haskell, beyond things like being able to think of a function in the mathematical sense (like, "a map f: X -> Y" rather than as a "subroutine" that performs some actions), being able to think about higher order functions (e.g. to say that "'compose f g' is a function that at input x has the value f(g(x))") and so on. Haskell's notation is really clean, so that shouldn't be a problem either.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With