问题标签 [hugs]

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 回答
597 浏览

haskell - 创建一个新类型的 Eq 实例

我正在学习 Haskell,并且得到了以下任务 - 我有一个由两种混合数据类型组成的新类型,我必须在不使用派生的情况下将其设为 Eq 的实例。这是我所拥有的:

然而,拥抱就是一切

我该如何解决?我也不能真正导入 Eq 隐藏的东西,因为我需要它来检查 Number 或 Character 的给定成员是否相等。

0 投票
1 回答
142 浏览

haskell - 无法使用评估器推断实例

我已经开始通过http://www.cs.nott.ac.uk/~pszgmh/monads学习函数式编程课程的介绍。有什么比实际尝试和测试代码更好的方式来尝试和理解事物。

唉,在第二页上我遇到以下内容:

当我尝试运行它时会产生错误。我不太确定为什么会这样。当我尝试

在 repl 循环中,它工作得很好,但是

以类型推断错误结束。

当我将定义更新为以下内容时:

我在定义中遇到类型错误。第一个定义有什么问题?顺便说一句,该课程使用Hugs。

0 投票
1 回答
632 浏览

ubuntu - 带有haskell的文件的字数

当我试图计算文件的字数时,我遇到了 Haskell 的问题。我只是一个初学者,这是我的第一个程序,所以我很确定这是一个非常简单的错误。我正在使用拥抱来运行我的代码。直到现在我学会了如何从一个文件中读取,但我没能数出其中的单词。我的代码是这样的

任何帮助将不胜感激。谢谢!

0 投票
3 回答
242 浏览

haskell - 为什么我可以在 Haskell 中打印包含 5 个元素但不能包含 6 个元素的元组?

我尝试打印以下元组

这给了我以下错误

但是如果我尝试使用以下元组

一切都像魅力一样。

我的猜测是 Haskell 只Show为最多五个元素的元组定义(因为一个有 5 个元素的元组显然是另一种类型,而不是一个有 6 个元素的元组)。但不知何故,我愚蠢地找到了证据。

所以我的问题是:

为什么会这样,我怎样才能打印一个包含 6 个元素的元组(因为我似乎不能将元组放在instance定义的头部)?

编辑:我正在使用拥抱

0 投票
1 回答
99 浏览

haskell - 我的 Haskell 代码有什么问题?

我的代码:

我正在实现的功能与上述功能不完全相同,但格式相同,我总是得到:

那么我的 Haskell 代码有什么问题呢?我真的需要使用“where”子句,但我认为我做错了什么。

0 投票
1 回答
1448 浏览

haskell - 如何在 ubuntu 中安装 Hugs 编译器?

我想用 Haskel 编程,这是一种函数式编程语言,我想在 Ubuntu 中为此安装 Hugs 编译器。有没有人知道它的安装。

0 投票
1 回答
717 浏览

haskell - 在 macOS sierra 上安装 Hugs 98

我在 macOS Sierra 上安装 Hugs 98 时遇到问题。我已经按照这里的说明(http://www.willamette.edu/~fruehr/154/HugsMacInstall.html)告诉我安装macports然后运行sudo port install hugs98。不幸的是,这会导致以下错误消息:

错误:处理端口 hugs98 失败

有谁知道是否可以在 macOS sierra 上安装 HUGS?
谢谢!

0 投票
1 回答
52 浏览

haskell - 在没有包的情况下使用 haskell/hugs 在 cgi 中获取环境变量

我正在用 Haskell 编写一个 cgi 脚本。我只能使用拥抱/跑步拥抱。

到目前为止,一切都很好。但是现在我想获取服务器的环境变量。例如“SCRIPT_NAME”环境变量。

使用 bash 我可以:

结果是:/path/to/script.cgi在浏览器窗口中。

对于 Haskell,我发现了类似的东西:script <- getEnv "SCRIPT_NAME",但是

不起作用。

有可能以某种方式做到这一点吗?

  1. 没有进口的平原,或
  2. 可以在拥抱中导入
0 投票
0 回答
167 浏览

haskell - 拥抱 - 包含无限列表的一部分的列表理解导致控制堆栈溢出

我尝试编写一个函数来获取整数列表并对其进行过滤,以便返回的列表仅包含与特定模式匹配的数字。不幸的是,顺序必须保持不变。我已经实现了一个无限列表,它按有序序列返回所有有效数字并在列表理解中使用它。这在 ghci 中工作得很好而且很快,但我的问题是,我们需要在我的大学课程中使用更大的拥抱列表,它会导致控制堆栈溢出,我不理解。

我写了最少的例子来证明我的问题:

如果我使用aList = map (8*) [0..]而不是aList = map (1000*) [0..]. 完成只需要更长的时间,因为它必须进行更多的比较,但不会导致崩溃。因此,列表的长度elem似乎不会影响控制堆栈的长度?

我不知道为什么会发生控制堆栈溢出。甚至[x| x<-liste,foldl' (||) False $map (==x) cap_aList]导致相同的错误。

如果它与普通列表一起使用,列表推导完美无瑕,但如果与takeWhile(参见inaListinaList_2)一起使用,它会遇到控制堆栈溢出或分段错误。如果take与计算值一起使用(请参阅inaList_3参考资料),它也会崩溃。使用“静态” take(请参阅​​ 参考资料inaList_working)它会突然起作用。我想,where 子句通常应该只计算一次或从不计算。那么为什么列表的构建方式会有所不同呢?如果控制堆栈已满,拥抱不应该尝试减少/计算控制堆栈吗?不幸的是,大多数文档似乎只适用于 ghc。

那么为什么在这种情况下会发生这种控制堆栈溢出,如何避免它以及如何确定控制堆栈的外观/填充方式?是否有多个控制堆栈?

我希望有人能解释发生了什么。

0 投票
1 回答
90 浏览

haskell - Hugs Permutations Sufficient Space

First of all, yeah I know that I should use ghc instead (but we are forced to use hugs in the course)

So I try to generate all permutations of [1 .. 9] but when evaluating this, hugs throws an error: "ERROR - Garbage collection fails to reclaim sufficient space"

Is there any quickfix or roundabout for this?