내가 TH에 대해 배우려고 할 때 컴파일 중 임의의 IO
동작을 허용한다는 것을 알았습니다 (What's so bad about Template Haskell? 참조). 이것은 나에게 아주 위험한 것처럼 보인다. 왜 그런가요? 일부 작업에 정말로 필요한가요? 또는 "IO
sin-bin"에 불순한 모든 것을 던지라는 디자인의 단순화입니까?Template Haskell이 컴파일하는 동안 임의의 IO 작업을 허용하는 이유는 무엇입니까?
업데이트 : 임의의 IO
작업을 허용하지 TH의 safe 하위 집합을 만들기에서 어떤 노력이있는 경우 나 또한 관심이있을 것입니다.