隱藏匯入

Prelude 通常定義其名稱在別處使用的函式。不隱藏此類匯入(或使用發生衝突的合格匯入)將導致編譯錯誤。

Data.Stream 定義了名為 mapheadtail 的函式,它們通常與 Prelude 中定義的函式衝突。我們可以使用 hiding 隱藏 Prelude 中的那些匯入:

import Data.Stream -- everything from Data.Stream
import Prelude hiding (map, head, tail, scan, foldl, foldr, filter, dropWhile, take) -- etc

實際上,需要太多的程式碼來隱藏這樣的 Prelude 衝突,所以你實際上會使用 qualified 匯入 Data.Stream 代替。