VSCode(Windows)配置Haskell开发环境

打印 上一主题 下一主题

主题 974|帖子 974|积分 2922

目录

简介

Haskell


  • 理论基础: λ 演算
  • 强静态类型
  • 类型推断
  • 惰性求值
  • 纯函数式编程语言: 无 side-effect (副作用)
  • 并发编程
Haskell 工具链


  • GHCup
​                版本管理器, 管理 Haskell 工具链 (GHC, Cabal, Stack, HLS)

  • GHC
    Haskell 编译器
  • Cabal Stack
    包管理器和构建体系
  • HLS
    Haskell Language Server 提供代码编辑相干服务(代码补全, 跳转等)
安装

预备工作

关闭杀毒软件直至安装完成
GHCup

1. 安装 GHCup 本体
以非管理员身份在 PowerShell 中运行:
  1. $env:BOOTSTRAP_HASKELL_YAML = 'https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-latest.yaml'
  2. 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
复制代码
一路 enter 已往, 能把 GHCup 安装就算乐成, 其余的都能用 GHCup安装
包下载过程中遇到有关墙方面的网络问题尝试通事后面的 clash 全局署理方法
2. 换源
GHCup 配置中科大源
修改 GHCup 配置文件
其余教程(Linux) ghcup 配置文件位于 ~/.ghcup/config.yaml
对应在 Windows 中在 C:/Users/用户名/.ghcup/config.yaml
实际情况却是 C:/ghcup/config.yaml
  1. url-source:
  2.   OwnSource:
  3.     - https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-latest.yaml
复制代码
Cabal 配置中科大源
powershell 执行
  1. cabal user-config init
复制代码
修改 Cabal 配置文件
其余教程(Linux) Cabal 配置文件位于 ~/.cabal/config
对应在 Windows 中在 C:/Users/用户名/.cabal/config
实际情况却是 C:/cabal/config
Cabal >= 1.24 (GHC 8.0)
找到官方仓库:
  1. repository hackage.haskell.org
  2.   url: http://hackage.haskell.org/
  3.   -- secure: True
  4.   -- root-keys:
  5.   -- keys-threshold: 3
复制代码
替换为:
  1. repository mirrors.ustc.edu.cn
  2.   url: https://mirrors.ustc.edu.cn/hackage/
  3.   secure: True
复制代码
powershell 执行
  1. cabal update
复制代码
Stack 配置中科大源
修改 Stack 配置文件
其余教程(Linux) Stack 配置文件位于 ~/.stack/config.yaml
对应在 Windows 中在 C:/Users/用户名/.stack/config.yaml
实际情况也在 C:/Users/用户名/.stack/config.yaml
>= v2.9.3
  1. package-index:
  2.   download-prefix: https://mirrors.ustc.edu.cn/hackage/
  3.   hackage-security:
  4.     keyids:
  5.       - 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d
  6.       - 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42
  7.       - 280b10153a522681163658cb49f632cde3f38d768b736ddbc901d99a1a772833
  8.       - 2a96b1889dc221c17296fcc2bb34b908ca9734376f0f361660200935916ef201
  9.       - 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3
  10.       - 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921
  11.       - 772e9f4c7db33d251d5c6e357199c819e569d130857dc225549b40845ff0890d
  12.       - aa315286e6ad281ad61182235533c41e806e5a787e0b6d1e7eef3f09d137d2e9
  13.       - fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0
  14.     key-threshold: 3 # number of keys required
  15.     # ignore expiration date, see https://github.com/commercialhaskell/stack/pull/4614
  16.     ignore-expiry: true
复制代码
安装

包下载过程中遇到有关墙方面的网络问题尝试通事后面的 clash 全局署理方法
ghc
  1. ghcup install ghc latest
复制代码
cabal
  1. ghcup install cabal latest
复制代码
stack
  1. ghcup install stack latest
复制代码
hls
  1. ghcup install hls latest
复制代码
Clash

如果通过换源的方式下载不了某些包, 可以通过 Clash for Windows 的 TUM mode 创建的假造网卡署理全部流量来下载
TUN Mode

Clash For Windows → 常规 → 体系署理打开
TUN Mode 需要先安装 Service Mode(服务模式)
Clash For Windows → 常规 → Service Mode 后的管理 → 安装 → 绿色地球
Clash For Windows → 常规 → TUN Mode打开
署理

非管理员权限的 PowerShell 执行
  1. # 假设 Clash For Windows 使用默认端口号 7890
  2. $env:HTTP_PROXY="http://127.0.0.1:7890"
  3. $env:HTTPS_PROXY="http://127.0.0.1:7890"
复制代码
bash 执行
  1. export HTTP_PROXY="http://127.0.0.1:7890"
  2. export HTTPS_PROXY="http://127.0.0.1:7890"
复制代码
随便找个目录执行 curl
在 powershell 中执行会报错, 所以我在 git bash 中执行 curl
  1. curl -LO https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1
复制代码
编辑脚本
  1. # Exec "$Bash" '-lc' 'exit' # 注释掉这行
  2. & "$Bash" '-lc' 'exit'                 # 加上这行
复制代码
运行脚本
命令行或直接运行
  1. ./bootstrap-haskell.ps1 -Interactive -DisableCurl
复制代码
VSCode

安装插件 haskell.haskell
检验

查察模块安装情况
  1. ghcup tui
复制代码
构建项目
  1. mkdir test
  2. cd test
  3. cabal init --interactive
  4. cabal build
  5. cabal run
复制代码
参考

国内怎样安装 Haskell 运行环境 (Windows)
中科大镜像站: GHCup
清华镜像站: Hackage
怎样安装 Haskell 工具链(2022 年版)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表