Haskell超简单环境搭建

需求:搭建一个灵活且通用的编写编译Haskell代码的方案。要求Windows,Linux,Mac三端通用,且迁移代码代价最小

首先找到一个最方便的Haskell编写IDE

选择方案有如下。IDEA+Haskell插件,Ecelipse+Haskell插件,VSCode+Hashkell插件,Vim+Haskell插件,Xmonad(没用过),Mac App Store的Haskell。

如果选择插件方案,需要考虑是采用Stack还是Cabal。目前Haskell开发推荐Stack工具

首先idea+haskell插件方案,Eclipse+插件功能太老,不能考虑。VSCode+Haskell插件有多个选择,但是没有快捷执行方案。Vim+Haskell插件适合大佬。Xmonad安装要求太高。

IDEA+Haskell插件功能,需要支持ghc-mod.该方案由于Cabal和Haskell的升级,已经不太适合。最后定的方案为Mac App Store的Haskell for Mac.

我目前使用的HFM版本为1.7.0(1527 MAS).软件直接下载安装即可。需要注意的是,HFM自带的GHC为8.6.4,对应的LTS为13.14。

使用时,按官方文档即可,如果需要安装lib,直接选择Target->Pageage Manager,输入关键字即可。我这里安装过mysql-haskell-0.8.4.2。

但是这里有一个问题,HFM不支持启动中断型应用。也就是如果你想启动一个Web服务器,那是不可能的。因为他的后台会不断的重启执行程序。所以只能考虑外部执行。

外部执行有两种方案:

1.本机执行。这里可以直接采用HFM的Target->Run/Install.这样就可以新开控制台来执行。

2.外机执行。毕竟生产环境不太可能采用MAC。所以需要找到一个方案来打包执行我们的代码。

这里以Centos 7 为例。首先大家可以安装一个裸环境,我的是Centos7.5

1) 执行 curl -sSL https://get.haskellstack.org/ | sh

2)stack upgrade

3)yum install gmp-devel  (因为我先安装了Cabal,采用runhaskell提示失败,感觉gmp-devel是需要的)

4) stack new helloworld new-template  来创建一个新的stack工程

至此我们完成了外机的编译环境搭建,接下来我们需要管理外机和HFC的版本(如果不关联还有什么意义呢)

1.打开项目下的stack.yaml.修改resolver的值为lts-13.14

2.在extra-deps下面添加需要的lib。例如

   extra-deps:

       -  extra-1.6.14

       -  mysql-haskell-0.8.4.2

3. 修改xxx.cabal,在build-depends下面添加需要的lib(这里就不细说了,可以参考其他文档)

4. 执行stack build .顺利的话会提示开始下载ghc-8.6.4和相关lib(视网络情况而定)

至此我们就使用了最佳的IDE和一个无关OS的编译方式,大家可以快乐的写Haskell代码了。

 

 

如果大家在使用Haskell方面有任何问题,欢迎留言

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置Haskell语言学习环境,你需要进行以下步骤: 1. 首先,下载和安装Stack,这是一个Haskell项目管理工具。 2. 然后,配置ghc-mod、hlint和Code Runner插件。你可以在VS Code的设置文件settings.json中进行配置。 3. 在settings.json文件中,使用以下代码进行配置: ``` "haskell.ghcMod.executablePath": "stack", "haskell.hlint.executablePath": "C:\\Users\\hp\\AppData\\Roaming\\local\\bin\\hlint.exe", "code-runner.executorMap": { "haskell": "cd $dir && stack runhaskell $fileName" } ``` 注意,这些配置需要根据你的实际情况进行修改,比如可执行路径、文件路径等。 4. 配置完成后,你就可以开始使用Haskell语言学习环境了。你可以使用Stack来管理和构建你的Haskell项目,同时可以使用ghc-mod和hlint来进行代码检查和提示,以提升代码质量。另外,Code Runner插件可以帮助你在VS Code中运行Haskell代码。 通过以上步骤,你就可以成功配置Haskell环境,并开始学习和使用Haskell语言了。祝你学习顺利!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Windows10 和 VSCode 上Haskell的安装与环境搭建](https://blog.csdn.net/Nanzhan_17/article/details/123348982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值