I'm major in Math and I had learned haskell for one week. But I'm unaccustomed to its coding style. I saw many people said if you want to master functional programming, then you shall use haskell. Some said the monad of haskell is highly related to the category theory in math. But I think I perfer Mathematica's programming style, syntax and design much more then haskell. And I'd read Mathematica's offical document for many chapters few months ago. I summarize my question below.
- Logically speaking, everything that haskell can do is also a piece of cake for MMA?
- Does MMA have monad? Does monad really matter?
- Haskell and MMA are both of functional programming languages. If a person want to study functional programming deeper, he better choose haskell rather then MMA?
- I think if someone learn haskell very very well, he may not claim himself automatically to be a MMA expert. But is it true vice versa? If I learn MMA very well in the future, do I have stable ability or knowledge of FP(thus Haskell) languange?