在开发实用程序的时候,必须进行模块的划分,现代语言都具有各自的 Package 特性。Haskell的 module分别放在不同的文件中,模块名与文件名相同。
通过 export 列表,我们可以选择开放一个 Module的对外接口,隐藏起私有函数。
简单的 import SomeModule , 就可以使用 SomeModule中的函数、data等, 如果与其他的Module中的元素同名的情况, 可以使用 import qualified SomeModule 来限定 import, 这样就必须使用 SomeModule.someFunc 这样的形式来调用。
其他的 import 形式
import SomeModule (someFunc) -- 只 import someFunc import SomeModule hiding (someFunc) -- 隐藏 someFunc, import 其他的元素 import qualified SomeModule as S -- 设定别名 ,类似于 python 中的 import as
处理多级目录的情况~
import SomeDir.SomeModule as S
写程序就像写文章,文学编程这个概念Knuth的 CWeb 就大力倡导过。在文学编程中,程序与注释的地位对调了。 Haskell有两种风格的文学编程格式: Bird-scripts 和 LaTeX-style。他们的文件爱你后缀都是 .lhs
用这种方式写程序的一个好处是: 直接可以把文件复制到网上,成为一篇 blog文章,或者通过 latex进行编译成一个漂亮的 pdf 文档。
bird-scripts : 代码行以 > 开始,其他的都是注释。注释与代码之间要空行。
latex-style : 代码与注释间不需要空行
\documentclass{article}
...
\begin{code}
module Main where
main = putStrLn "I am in literate style"
\end{code}
....
Recent comments
2 weeks 2 days ago
2 weeks 4 days ago
6 weeks 2 days ago
7 weeks 1 day ago
7 weeks 2 days ago
8 weeks 3 days ago
8 weeks 3 days ago
8 weeks 4 days ago
10 weeks 21 hours ago
10 weeks 3 days ago