,支持在GHCi环境直接使用import语法:
> import qualified Data.Map as M
> M.fromList [('a', 1)]
fromList [('a',1)]
所以...,不用关注环境区别,具体见import qualified in GHCI
二.声明
模块用来组织代码,比如把功能相近的函数放到同一个模块中
例如二叉树的模块定义:
module BTree
-- 声明要暴露出去的函数及数据类型...或者不暴露值构造器,仅允许通过工厂方法等方式获取该类型值(常见的比如Map.fromList):
module MyModule (Tree, factory)
缺点是,这样做就无法使用值构造器进行模式匹配了...到集合这变成Set.intersection了
Map中的很多函数在Set里也有对应版本,例如null, size, member, empty, singleton, insert, delete,...data type pattern matching:模式匹配自定义数据类型