Недавно я читал о unsafePerformIO
и хотел бы кое-что спросить у вас. . Меня устраивает тот факт, что настоящий язык должен уметь взаимодействовать с внешней средой, так что unsafePerformIO
несколько оправдано.
Однако, насколько мне известно, я не знаю никакого быстрого способа узнать, действительно ли чистый (судя по типам) интерфейс/библиотека является чистым без проверки кода в поисках вызовов unsafePerformIO
(в документации об этом может не упоминаться).
Я знаю, что его следует использовать только тогда, когда вы уверены, что ссылочная прозрачность гарантирована, но тем не менее я хотел бы знать об этом.