Я изучаю различные функциональные языки в течение некоторого времени, включая Haskell, Scala и Clojure. Haskell имеет очень строгую и четко определенную систему статического типа. Scala также статически типизирован. Clojure, с другой стороны, динамически типизируется.
Итак, мои вопросы
- Какую роль играет система типов в функциональном языке?
- Нужно ли, чтобы язык имел систему типов, чтобы она была функциональной?
- Как "функциональный" уровень языка связан с типом системы языка?