当我试图了解 TH 时,我发现它允许IO
在编译期间进行任意操作(请参阅Template Haskell 有什么不好?)。这对我来说似乎很危险。这是为什么?某些任务真的有必要吗?还是只是对其设计的简化,“把不纯的东西都扔进IO
罪仓”?
更新:如果有任何努力制作一个不允许任意操作的 TH安全子集,我也会感兴趣。IO
当我试图了解 TH 时,我发现它允许IO
在编译期间进行任意操作(请参阅Template Haskell 有什么不好?)。这对我来说似乎很危险。这是为什么?某些任务真的有必要吗?还是只是对其设计的简化,“把不纯的东西都扔进IO
罪仓”?
更新:如果有任何努力制作一个不允许任意操作的 TH安全子集,我也会感兴趣。IO