I have been trying to wrap my head around functional programming for a while now? I have looked up lambda calculus, LISP, OCML, F# and even combinatorial logic but the main
You need to know at least another essential concept: Monads. You will need this to do I/O and the other "useful" stuff!