Haskell 入门学习(一)之安装试用 Haskell

Haskell 入门学习(一)之安装试用 Haskell



前言:

最近对 Haskell 语言感兴趣,所以打算记录一下一些小历程,入门,那当然要先安装环境了,Haskell 的安装还是挺简单的,因为有 “ghcup” 这个工具管理包,它是用来专门安装GHC(也就是 Haskell 的环境)的, 相对来说,比传统的安装要方便很多。


安装

好,现在的你应该会直接去 Haskell 的官网直接下载,但是,下载速度感人,所以,如果你学过 Python 或是其他什么有 包管理器的语言时,你应该想到:这个语言的包管理器是否也能换源?换源即将下载服务器配置到中国国内,速度会快不少,所以官网的安装就不介绍了。我们介绍 中科大源。使用以下命令即可安装

Windows 安装

# Windows 用户:以非管理员身份在 PowerShell 中运行如下命令
$env:BOOTSTRAP_HASKELL_YAML = 'https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.7.yaml'

Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://mirrors.ustc.edu.cn/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true

Linux、MacOs

# Linux, FreeBSD, macOS 用户:在终端中运行如下命令
curl --proto '=https' --tlsv1.2 -sSf https://mirrors.ustc.edu.cn/ghcup/sh/bootstrap-haskell | BOOTSTRAP_HASKELL_YAML=https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.7.yaml sh

在安装过程中,需要设置ghcup的安装目录,以及是否需要安装stack,cabal,HLS(语言服务器,必须安装的,因为语言提示相关需要语言服务器支持)。

在Windows下,ghcup会默认安装到C盘,我推荐安装到别的盘,你可以自己指定路径,Linux 安装不能改路径,在 Windows 可以改,直接将你的路径复制进去,然后回车就行。还要安装Cabal(可以用来项目管理,也要配置路径),安装时注意选定路径,因为是英文的,放图片又太占文章篇幅了,我就不放了,都是简单的配置英文。


使用 VSCode 进行代码编写

我就不讲 Linux 了,因为要配置 NVim ,不在这篇文章讲,在 Windows 用 VSCode 写 Haskell 代码就行。

首先我们要安装Haskell的插件,安装下面这两个就行,如果你看到了其他的插件,其实都没用,这两个就够了,第一个是主插件,第二个是语法高亮插件。

在这里插入图片描述

安装完成后我们需要配置 GHCup 的路径,打开vscode的设置,搜索 “haskell”会列出所有跟 haskell 相关的配置。下图的配置就是你 GHCup 的可执行文件的绝对路径。

在这里插入图片描述

这个插件可以自己进行管理,在下方的这个选项配置为 GHCup,令他自行管理。

在这里插入图片描述

好,到这里其他选项就不用看了,已经可以开写代码了。


创建一个简单的项目

使用 Cabal 管理项目

众所周知,项目也是有相应的管理器的,比如 C/C++ 的 Cmake,Java 的 maven,Rust 的 Cargo 等,在 Haskell 中,我们用 Cabel 进行项目管理。找一个地方创建一个 “Haskell”文件夹,这个文件夹存放我们所有的项目。

先创建一个“hello”文件夹,进入 hello ,使用以下命令创建一个项目

cabal init -i

其中,cabal init 是初始化一个简单项目,-i 参数代表 interactive 显示可交互配置,可以对项目进行更详细的配置,比如项目是可执行还是库等。很多项目信息是可更改的,所以不用太担心。

项目大致结构

在这里插入图片描述

我们可以看到,app文件夹是主目录,存放业务代码,src 文件夹是 库文件夹,也许能存放些你自己实现的有用工具。test文件夹是测试文件夹。其中,你可以注意到,项目下有一个后缀为 .cabal 的文件,这个文件是cabal项目配置文件,你可以在里面修改相应的项目配置。

运行项目

你也许会奇怪,项目才刚创建就能运行了吗?是的,我们可以开始尝试一下大名鼎鼎的 Haskell 了。

# ↓ 这条命令会编译现有项目
cabal build  
# ↓ 这两条命令会运行你的项目,一个运行app,一个运行test, myHello 是项目名
cabal run myHello
cabal run myHello-test

输入 cabal run myHello 后,终端会显示如下信息,说明你正式开启了 Haskell 的领域

Up to date
Hello, Haskell!
someFunc

输入 cabal run myHello-test 后,显示如下信息,第二行的信息说明你还没编写test功能,显示默认信息。

Up to date
Test suite not yet implemented.

结尾

这篇文章阐述了 Haskell 基于 GHCup 的几乎无痛的安装,其次讲解了 Cabal 管理器的简单使用,代表 正式开启了 Haskell 学习之路,我打算在下一篇文章记录一下 Haskell 的基本内容。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值