У них в парадигме языка есть такое свойство функций как чистота. Чистая функция должна быть детерменирована, то есть при одинаковом входе всегда должен быть одинаковый выход. Я спросил, является ли детерменированой функция, которая отсылает запрос на
random.org и возвращает ответ. Они сказали что да. Я спросил о том, условное ли это детерменирование, и признают ли они что такая функция детерменирована только в рамках концепции языка, для упрощения. Мне ответили что не признают и начали придумывать отмазки.
Суть в том, что нельзя гарантировать ответ сервера. Он может быть любым.
Они придумывали уловки про то, что на вход функции, кроме адреса сайта подаётся скрытый параметр, который мы не можем контролировать - время. Типо мы не можем проверить детерменированность, потому что не можем запустить дважды функцию с одинаковыми параметрами, потому что мы не можем манипулировать временем и состоянием вселенной.
Я сказал что это всё звучит логично, но проблема в том, что если принять такой аргумент, то вообще всё в мире детерменировано, просто мы не можем это доказать. И на деле мы имеем функцию в которую можем 10 раз передать одинаковый параметр (адрес сайта) и 10 раз получить разный результат, что означает что функция не детерменирована.
В итоге люди так и не признали функцию условно детерменированной, но и никак доказать детерменированность не смогли. Подменяли понятия, ссылаясь на концепции языка, и его конкретные реализации, как будто я спорил с концепцией языка, а не просил признать что детерменирование условно и означает лишь договорённость в рамках языка о том, что такие ситуации можно считать детерменироваными.
Удивлён тому, что разработчики на хаскеле такие сектанты. Наверное многие из них просто прочитали в книжке какое нужно иметь мнение по этому поводу и даже не пытались подумать о утверждении критически, без фанатизма. Я думал они гении какие-то и не просто используют язык с интересной парадигмой, но и мыслят рационально, игнорируют авторитеты и не верят утверждениям на слово. А они, кажется, даже не понимают условностей языка