I'm sorry, but to be an amazing programmer in Haskell, the understanding you need of the lambda calculus is minimal.. For example, consider this function to compute the Ackermann function in the lambda calculus:
λx. x (λf y.y f (f 1) ) (λx1 f x.f (x1 f x))
or even just addition
λx y f x.(x f) (y f x)
none of that will even come up in Haskell.
Even the type system - you need to understand some tiny amount - you can only add ints to ints etc. The more complicated stuff, the type inference, the monads etc - can be ignored until later.
Haskell can be used without understanding - almost all programming languages can. That's why we have so many newbie bugs.
Even the type system - you need to understand some tiny amount - you can only add ints to ints etc. The more complicated stuff, the type inference, the monads etc - can be ignored until later.
Haskell can be used without understanding - almost all programming languages can. That's why we have so many newbie bugs.