编译Haskell的多个.hs文件 – Unix
发布时间:2020-12-15 22:36:22 所属栏目:安全 来源:网络整理
导读:我在Unix中的一个项目中创建了一些文件,它们很多,如果我想在另一个PC或文件夹中执行它,我需要将所有文件复制到那里.它们都是导入连接的. 如何制作可执行的 haskell程序? 我有例子: main.hs - main where all the program executes; using,besides haskell,
我在Unix中的一个项目中创建了一些文件,它们很多,如果我想在另一个PC或文件夹中执行它,我需要将所有文件复制到那里.它们都是导入连接的.
如何制作可执行的 haskell程序? 我有例子: main.hs - main where all the program executes; using,besides haskell,unix shell. ex1.hs - basically types of data,some functions. ex2.lhs - same as ex1.lhs but is literate with LaTeX pic.jpg - picture to use on the pdflatex package.sty - package needed to use some functions 我如何进行并编译所有这些? >ghc -o MAIN main.hs ex1.hs ex2.lhs pic.jpg package.sty 无法加载’ex1.hs’的界面 好奇的是,如果我交易导入ex1.hs导入ex2.lhs行将在ex2上给出错误 解决方法
> Haskell模块名称必须以大写字母开头,因此首先将ex1.hs和ex2.hs重命名为Ex1.hs和Ex2.hs.它们也应该从模块Ex1开始,否则模块名称将默认为Main,当模块名称与文件名不匹配时GHC将非常混淆.
>导入语句应该引用模块名称,而不是文件名,因此在main.hs中更改它们以对应于模块名称. import Ex1 import Ex2 >现在用ghc –make main.hs编译,它应该自动找到其他模块.它将搜索具有.hs和.lhs扩展名的模块,并正确地将后者视为有文化的Haskell文件. 对于大型项目,您应该考虑使用大多数Haskell库和程序使用的构建系统Cabal.它将有助于管理依赖项和编译器选项,有点像Makefile. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |