问题标签 [haskell-prelude]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
129 浏览

function - 描述非特定类型的 Haskell 函数的类型签名的方法是什么?

给定一个类似的函数negate,它具有类型签名:

我将其描述为(如果您认为我错了,请纠正我)a的上下文中的类型。Num

但我不完全确定如何描述类似的东西last,它具有类型签名:

我的猜测是说它不是特定于类型的,它需要一个列表并产生与列表相同类型的单个值。这是正确的思考方式吗?

0 投票
3 回答
886 浏览

haskell - 无法在 VS 代码的 ghci 解释器中加载 Prelude

我已经按照 Chocolatey 和 haskell.org 上的说明安装了 Haskell 平台。我使用的是 Windows 10。我的 hello.hs 程序符合命令提示符,但是当我尝试在 VS 代码中执行相同操作时,它不会加载 Prelude,我认为这是运行 Haskell 程序所必需的。我认为这可能是一个配置问题,但我找不到任何有用的文档。我该如何解决这个问题并打开 Prelude?VS 代码显示的问题与此问题相关吗?

佩鲁德没有出现 VS 代码中的问题

0 投票
1 回答
86 浏览

haskell - 有没有办法隐藏gcd?

我正在gcd为分配重写函数,但是当我尝试隐藏gcd时,如下所示:

我得到错误

输入'gcd' 上的解析错误。

我确定我已经完成了 的重新定义gcd,但我无法阻止错误

模棱两可的出现,它可以指“Prelude.gcd”

除非我设法隐藏gcd

这是我的完整代码(抱歉找不到上传文件):

这是我更改为后的错误import Prelude hiding (gcd)

错误

0 投票
1 回答
126 浏览

haskell - 如何在不导入模块 Data.Char 的情况下在 Haskell 中使用 toUpper 和 toLower?

所以我试图在没有导入帮助的情况下编写自己的函数,并且我正在努力拥有一个以相同方式工作的函数。

这就是我所拥有的。

0 投票
1 回答
68 浏览

haskell - 为什么函数组合在haskell中需要parantesis?

用 x=2 和 y=3表示$ f(x, g(y))*这很好用:

为什么以下返回错误?

0 投票
1 回答
105 浏览

haskell - 两个列表的 Haskell 映射函数

我需要将一个函数应用于两个列表。地图功能是map :: (a->b) -> [a] -> [b],但是我需要更多类似的东西map2 :: (a->b->c) -> [a] -> [b] -> [c]。有没有类似的前奏功能map可以做到这一点?

0 投票
2 回答
99 浏览

function - 为什么我的函数 dropR(Prelude drop 的反转)看起来像它的样子?

我对编程和练习编写函数还很陌生,我试图扭转 Prelude 下降的影响;

进入我最初命名为dropR的东西。

不幸的是,这不起作用,因为输入dropR 2 [1,2,3,4,5]返回[1,2,3,4]而不是[1,2,3]我希望的那样。使用 drop 2,我会在列表中得到 3 个值而不是 4 个。我将函数更改为;

它以我想要的方式工作,但我不明白为什么第一个不起作用。我认为它只会反转列表并获取与常规 drop 相同数量的值,之后我可以反转它。

为什么 drop 需要drop (n-1)而我的 dropR 只需要drop n?它是因为 drop 中的递归而不是 dropR 中的递归而发生的吗?

0 投票
1 回答
18 浏览

yaml - Prelude dhall 错误:连接建立时间过长

今天我的 dhall 项目已经开始在 Prelude 依赖项上崩溃,所以主要错误是:

我使用这个部门:

当我尝试生成 yaml 文件时:dhall-to-yaml 出现此消息:

有什么帮助吗??

0 投票
2 回答
72 浏览

haskell - 检测什么函数引发异常 Prelude.!!: 负索引

我无法在我的代码中弄清楚什么函数正在引发(*** Exception: Prelude.!!: negative index,因为这个异常对错误的描述不是很清楚。有什么方法可以准确地检测到自定义函数正在调用什么!!并引发此错误。

这是调用时错误的简单可重现示例index_around 0 [1, 2, 3],此处的异常文本未描述异常是由函数引发index_before还是由index_after函数引发。