Ответ Дарио дает самый простой способ сделать это, но, так как вы также запрашиваете альтернативы, вы можете посмотреть описание import
объявлений в отчете Haskell или раздел «Загрузка модулей» Learn You a Haskell.
Одна из распространенных альтернатив локальным псевдонимам (т.е. import qualified SomeModule as X
) - просто скрыть функции (или конструкторы) Prelude
, если вы знаете, что они вам не понадобятся:
import Prelude hiding (Left, Right)
import MyModule
Вы также можете импортировать разные части модуля по-разному: одна общая хитрость - это прямой импорт типов модуля, но псевдоним его функций:
import Data.Map (Map)
import qualified Data.Map as M
import Data.Set (Set)
import qualified Data.Set as S
simpleMap :: Map String Int
simpleMap = M.singleton "one" 1
simpleSet :: Set String
simpleSet = S.singleton "one"
Это позволяет нам использовать обе функции singleton
, но нам также не нужно вводить M.Map
и S.Set
в каждой сигнатуре типа.