Haskell学习笔记:Modules
Loading modules
1.在script中引入模块
import Data.List
import Data.List (nub, sort)
import Data.List hiding (nub)
- 关键字import,引入一个module name为Data.List的模块
- 模块引入必须放在程序顶部
- 第二行表示只引用模块Data.List里的nub和sort函数
- 第三行表示引用模块Data.List里的除nub以外的其它函数
2.在guci中引入模块
ghci> :m + Data.List
ghci> :m + Data.List Data.Map Data.Set
- 不需要多次:m,一次性输入所有需要引入的模块即可
3.避免模块引用造成的与preclude中函数的重名
import qualified Data.Map
import qualified Data.Map as M
- 第一行为the qualified import,之后用此模块的函数时就要用 Data.Map.function_name替代,由此避免重名
- 第二行是为了偷懒,同样的效果,只是给 Data.Map取别名M。用此模块的函数时就变成了用M.function_name替代。
4.查询模块与其子函数
- 用Hoogle!
- 输入函数名,模块名甚至是type signature