What math background do I need to understand FP languages?
Languages (and users of languages) like Haskell, OCaml, Adga, Idris, etc. seem to be at least somewhat based on a lot of CS and mathematical concepts. The way people talk about and evangelize these languages makes it seem like that backing theory is necessarily to use and understand the languages.
What all CS and math subjects should do you need to know to take full advantages of FP languages like this? What background do you need to approach those subjects?