Задумался о программировании в общем. Что такое программа? Очевидно, это набор некоторых данных и команд для ЦП для выполнения неких действий. Но как пользователь понимает, что программа выполняется? Как правило, это вывод на экран некоторой информации, то есть изменение состояния монитора. Если программа «молчит», то это хотя бы изменение регистров и флагов процессора. А что же мы видим в Хаскелл? Эти теоретики считают, что программа должна быть «чистой», а раз она чистая, то она ничего не меняет. Нет движения и нет результата. Если бы они философски подошли к вопросу, поняли бы сразу, что язык мертв с рождения.
Очевидно, что надо сделать всё наоборот - главная программа грязная, а чистоту (то есть отсутствие изменений) осуществляют лишь небольшие блоки. Тогда у хаскеля был бы хоть малый шанс тягаться с JS.