tags:

views:

466

answers:

7

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?

+3  A: 

The important concepts for Haskell are those that are also important to all purely functional languages, and I believe don't necessarily require advanced mathematics.

Given that you've had a year of calculus, you will be fine.

While it maybe good to have a background in lambda calculus, it's not a hard requirement for Haskell.

Alan
+7  A: 

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.

ShreevatsaR
+2  A: 

You'll be fine. The water is warm. Jump on in!

Jim Burger
+2  A: 

Math? Erm, no. You don't need math at all (as in Math in the common sense of the word Algebra,Calculus,Geometry), but you do need a logical(logic==math?) brain to program just like with any other language

Robert Gould
A: 

I believe that Haskell teach you a lot of logic, discrete maths so then learn Haskell and you'll get some maths skill too :)

igorgue
+2  A: 

I taught myself Haskell some eight years ago having had only Business Calculus, I don't think any math is required.

shapr
+1  A: 

The more universal algebra and category theory you know, the better, since Haskell takes a lot from those branches of math (i.e., Monads, algebraic type system, arrows, and functors).

Mark Cidade