在 runhaskell 脚本中找不到模块

Could not find module in runhaskell-script

我每年 december 编码 haskell 质量差。今年我的环境不知为何坏了

当我尝试 运行 我的旧脚本

runhaskell .\myCode.hs

我明白了

Could not find module `Data.List.Split'
Use -v to see a list of the files searched for.

其中一个答案有评论:

Maybe he doesn't even use a .cabal or .yaml file and only wants to write a stand-alone Haskell script for runhaskell.

这正是我所追求的,但评论线程没有提供答案。它在 2016-2018 年有效,我不记得这个问题,而且我从来没有写过 about here or here("hidden modules").

的设置

有人知道如何解决这个问题吗?

编辑: 我试过指南 here 说要下载包,解压它 运行:

runhaskell Setup configure
runhaskell Setup build
runhaskell Setup install

但我收到一条错误消息:

$ runhaskell Setup configure
Configuring split-0.2.3.3...
Setup: Encountered missing dependencies:
base <4.12

而且我在安装中确实有一个 Haskell.6.3\lib\base-4.12.0.0。

Data.List.Split 不是 "base" 的一部分,与 Haskell 一起分发的核心库。它是名为 "split" 的外部包的一部分。如果你想使用它,你必须以某种方式获得那个包。这通常是通过 cabal 或 stack 完成的。也许有一种 runhaskell 理解的方法可以做到这一点;我对runhaskell一无所知。

好的,所以在按照说明进行操作后 to do things manually, I double checked that I had the latest split package. The web page 说软件包需要 base (<4.14) 但是当我尝试 运行 运行haskell 设置时它仍然抱怨 Setup: Encountered missing dependencies: base <4.12配置

但是在我尝试安装较旧的 'base' 并失败之后,无论如何似乎是一个远景,我只是按照指南的 'Installing packages using cabal' 部分进行操作。

cabal update
cabal install split

我 运行 这两个命令并忽略了它是遗留 v1 cabal 用法的一部分的警告。它工作并且安装了 split,因此 运行haskell 命令可以访问它。