Sto studiando Haskell allo scopo di comprendere la programmazione funzionale, con l'aspettativa che applicherò l'intuizione che ottengo in altri linguaggi (principalmente Groovy, Python, JavaScript).
Scelgo Haskell perché ho avuto l'impressione che sia puramente funzionale e che non permetta alcuna dipendenza dallo stato.
Non ho scelto di imparare Haskell perché ero interessato a navigare in un sistema di tipi estremamente rigido.
La mia domanda è questa: un sistema di tipo strong è un sottoprodotto necessario di un linguaggio funzionale estremamente puro, oppure questa è una scelta progettuale non correlata in particolare a Haskell?