合格导入
当多个模块按名称定义相同的函数时,编译器会抱怨。在这种情况下(或提高可读性),我们可以使用 qualified
导入:
import qualified Data.Stream as D
现在我们可以在使用 map
时防止模糊编译器错误,map
在 Prelude
和 Data.Stream
中定义:
map (== 1) [1,2,3] -- will use Prelude.map
D.map (odd) (fromList [1..]) -- will use Data.Stream.map
也可以导入一个模块,只有通过 import Data.Text as T
认证的冲突名称,这允许一个人拥有 Text
而不是 T.Text
等。