作为我正在学习TH的一部分,我发现它允许在编译期间进行任意的
更新:我还想知道是否有任何努力使TH的安全子集禁止任意的
IO
操作(请参见Template Haskell的缺点是什么?)。这对我来说似乎非常危险。为什么会这样?它对于某些任务真的很必要吗?还是只是简化设计,把所有不纯的东西都扔进IO
垃圾箱里?更新:我还想知道是否有任何努力使TH的安全子集禁止任意的
IO
操作。