问题标签 [haskell]

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 投票
1 回答
271 浏览

haskell - 如何评估表达式?

给定表达式包含的变量的值列表,如何评估表达式?

例子:

0 投票
1 回答
117 浏览

haskell - 如何在字符串表示中编写两个项目的加法?

例如我想添加两个表达式 e1 和 e2

我猜它会像

0 投票
2 回答
1974 浏览

haskell - 如何将变量转换为字符串?

例如,它像这样工作 toString (Var x)="x"

0 投票
9 回答
10890 浏览

haskell - Haskell 使用什么类型的作用域?

我试图弄清楚 Haskell 是使用动态范围还是静态范围。我意识到,例如,如果您定义:

然后定义函数

您有 2 个不同的“x”,这是否意味着它是动态范围的?如果不是,它使用什么范围,为什么?

此外,Haskell 变量可以有别名(相同内存位置/值的不同名称)吗?

谢谢。

0 投票
3 回答
9827 浏览

haskell - quotRem 和 divMod 的区别在什么时候有用?

从haskell报告中:

如果 y 不为零,则 quot、rem、div 和 mod 类方法满足这些定律:

quot是整数除法向零截断,而结果div 是向负无穷大截断。

例如:

有哪些例子可以说明截断结果的方式之间的差异很重要?

0 投票
6 回答
5467 浏览

shell - 哈斯克尔互动

我对我的 Haskell 有点生疏了,我希望重新开始。我喜欢 F# 的一件事是与 Visual Studio 集成的 F# Interactive shell:我几乎可以评估任何东西(包括函数和类定义)并将 F# 用作 shell。Haskell 中是否有等价物?当我使用 时ghci,我无法评估函数定义。你如何解决这个问题?

我目前的首选设置是使用带有 haskell 模式的 Emacs 并打开交互式 ghi 解释器。但是,有没有办法只评估文件的区域?

0 投票
2 回答
2427 浏览

haskell - Haskell 函数应用

有点像 Haskell 新手的问题,但我在 Haskell 的教程示例中遇到了这个示例。对于“查找列表的最后一个元素”,有一些明显的版本,比如

但我无法理解呈现的替代版本:

因此,为了理解 id 函数的应用程序在做什么,我在 ghci 中进行了尝试:

这像这样绑定:

而不是这样:

但我不明白这一点。(const id)应该翻译成类似的东西

这不应该返回一个简单地返回其第一个元素的 id 的函数吗?或者,函数顺序生成 (const id) 的行为与 const 有何不同?

0 投票
2 回答
6165 浏览

haskell - “结缘”的解释

在阅读与 Haskell 相关的内容时,我有时会遇到“打结”的表达,我想我理解的作用,但不知道如何

那么,对这个概念有什么好的、基本的和简单易懂的解释吗?

0 投票
3 回答
830 浏览

windows - Windows 上的 GHC + wxHaskell

在 Windows XP 计算机上安装 GHC 6.8.3 和 wxHaskell-0.10.3。两者都作为二进制发行版安装,而不是从源代码构建。使用以下命令构建示例:

ghc --make Paint.hs

它可以在构建它的同一台计算机上运行(安装了 GHC 和 wxHaskell),但如果转移到另一台计算机(两者都没有安装)则失败。它会抛出一个“应用程序错误”框,其中包含“应用程序无法正确初始化(0xc0150002)。单击确定以终止程序。”

它想要的唯一非系统 dll 是 wxc-msw2.6.4-0.10.3.dll,我将其复制到它的文件夹中。

可能是什么原因?

0 投票
2 回答
1319 浏览

haskell - Project Euler 27 上的 C 堆栈溢出

我刚刚开始学习 Haskell,并将阅读书籍和教程与解决 Project Euler 的问题结合起来。我一直坚持问题 27,因为使用以下代码出现“C 堆栈溢出”错误:

欧拉文件

命令窗口

此命令给出欧拉系数 1 和 41(一行 40 个素数)

这个因“C 堆栈溢出”而失败(我想获得问题定义中也提到的系数 -79 和 1601):

请您告诉我,为什么会出现错误以及如何解决?谢谢!

我使用 WinHugs。