我有一个在Base中使用Control.Exception的模块. 4,Base = 4中的Control.OldException.如何使用cabal或任何其他工具摆脱版本依赖(仅依赖于Base而不是Base 4)并在使用Base时导入Control.OldException = 4和使用
所以对于你的情况,我会:
{-# LANGUAGE CPP #-} module Blah where #if MIN_VERSION_base(0,4,0) import Control.OldException #else import Control.Exception #endif
使用cabal可以很好地构建这种方法.
(实际上,我会使用新的例外,不会打扰支持基础< 4,但那只是我)