haskell – 根据依赖项的版本进行不同的导入
发布时间:2020-12-14 04:53:58 所属栏目:百科 来源:网络整理
导读:我有一个在Base中使用Control.Exception的模块. 4,Base = 4中的Control.OldException.如何使用cabal或任何其他工具摆脱版本依赖(仅依赖于Base而不是Base 4)并在使用Base时导入Control.OldException = 4和使用Base时的Control.Exception 4? 解决方法 cabal a
我有一个在Base<中使用Control.Exception的模块. 4,Base> = 4中的Control.OldException.如何使用cabal或任何其他工具摆脱版本依赖(仅依赖于Base而不是Base< 4)并在使用Base时导入Control.OldException > = 4和使用Base<时的Control.Exception 4?
解决方法
cabal
automatically sets certain CPP definitions基于所用软件包的版本.
所以对于你的情况,我会: {-# LANGUAGE CPP #-} module Blah where #if MIN_VERSION_base(0,4,0) import Control.OldException #else import Control.Exception #endif 使用cabal可以很好地构建这种方法. (实际上,我会使用新的例外,不会打扰支持基础< 4,但那只是我) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |