问题标签 [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 回答
146 浏览

haskell - 拥抱`/`与类型推断

在 GHCi 中,以下代码可以正常工作:

但是在 Hugs 中,我得到了一个类型错误——它想成为一个 Double。当我取消注释 f2 的类型签名时,它工作正常。

不应该完全关注类型推断吗?

这是拥抱中的错误吗?

我检查了and -适用于s 的类型/和实例,并且and 都有一个 Fractional 实例,所以这应该不是问题。DoubleFloat/FractionalDoubleFloat

0 投票
2 回答
302 浏览

haskell - 如何在拥抱中使用 GADT

我想在 GHCi 不支持的平台(即 mipsel 上的 GNU/Linux)上编写一个以交互方式使用 GADT 的 Haskell 程序。问题是,可用于在 GHC 中定义 GADT 的构造,例如:

似乎不适用于拥抱。

  1. GADT 真的不能在 Hugs 中定义吗?我在 Haskell 课堂上的助教说拥抱是可能的,但他似乎不确定。
  2. 如果不能,是否可以使用 Hugs 支持的其他语法或语义对 GADT 进行编码,就像 GADT 可以在 ocaml 中编码一样?
0 投票
1 回答
1588 浏览

haskell - 使用 ghci 导入比率模块

我正在学习 Haskell 并尝试使用精确的有理数。我有以下简单的 Haskell 代码:

当我在 WinHugs 中加载它时,一切都很好。但是,当我在 ghci 中加载它时,我收到以下错误消息:

E:\devel\src\haskell\rational.hs:1:8:

失败,加载模块:无。

为什么我会收到此错误?

此外,谷歌在 Haskell 中给我的所有有理数的点击似乎都已经过时了。当前用有理数进行精确算术的方法是什么?

0 投票
2 回答
424 浏览

haskell - 算术模式是否合法 Haskell?

像这样的模式:

似乎在 Haskell 中很常见,但我清楚地记得当我开始学习 Haskell 时学习了以下内容:

但是,ghc似乎拒绝了那段代码,并指出:

Parse error in pattern: x + 1

虽然hugs接受它就好了。那么,这是否有效的 Haskell 以及为什么这些编译器的行为不同。

0 投票
1 回答
490 浏览

haskell - 在 Haskell 中调用数据构造函数的问题

我正在尝试编写自己的多态列表类型 List a 来充当默认库列表。我相信代码是正确的,但是我似乎无法在 Hugs98 中成功调用它。使用 List a 类型调用函数并计算非空列表长度的正确方法是什么?

提前致谢!

0 投票
2 回答
2533 浏览

algorithm - Haskell找到两个最近点之间的距离

给定二维空间中的点列表,您想在 Haskell 中执行一个函数来查找两个最近点之间的距离。示例:输入:项目 [(1,5), (3,4), (2,8), (-1,2), (-8.6), (7.0), (1.5), (5.5), (4.8 ), (7.4)] 输出:2.0

假设列表中最远的两个点之间的距离最多为 10000。

这是我的代码:

我可以像示例中那样运行程序,也可以使用生成器,如下所示:

在 haskell 解释器中必须输入“生成器”,程序将在此处询问包含一千个点的文件名。并且在Haskell解释器中生成文件后必须写main,并请求一个文件名,这是你用“generator”创建的文件的名称。

问题是我的程序随机生成 1000 个点需要很长时间,在双核处理器的计算机上大约需要 3 分钟。我究竟做错了什么?如何优化我的代码以更快地工作?

0 投票
1 回答
1255 浏览

haskell - 模式匹配失败

还是我只是瞎了眼?

非常简单的函数,抛出“模式匹配失败:get_rtg db”

0 投票
2 回答
12179 浏览

algorithm - 如何在 Haskell 中实现 Dijkstra 算法

对于我的学习,我必须编写以下函数,它可以获取两国之间最短的路线。我已经编写了一个函数 isRoute 来检查两个国家之间是否存在连接,以及一个函数 yieldRoute 只返回两个国家之间的连接。现在我必须编写一个函数来返回两国之间的最短路线。

我的第一种方法是获取两国之间的所有连接,然后获取最短的一个,但在我看来,获取所有连接对编程来说有点烦人。现在我想出了实现 dijstra 算法的想法,但我实际上也觉得这有点难。你们能给我一些想法如何做到这一点吗?

我们必须使用这些类型(我们不允许更改它们,但我们可以添加新类型。)

我的收益路线功能,它只是广度优先搜索:(德语评论很抱歉)

我现在必须写这个:

Dijkstra 算法: http ://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

我的第一种方法是:(正如我所说的 getallRoutes 有问题)

我基本上想知道在 Haskell 中实现 Dijkstra 的最佳方法是什么,或者我是否可以遵循另一种方法。

0 投票
2 回答
200 浏览

function - haskell中的tops函数是什么?

在我大学的一门函数式编程科目的期末考试中,有一个问题的代码清单使用了一个名为tops的函数。

我在官方教科书hoogleprelude index该死的internet中找不到任何关于该功能的信息 ,而且我的 hugs 解释器似乎无法识别它(WinHugs 98,v. 2006 年 9 月),即使有 hugs 扩展启用,要么。

我猜这是一个非常旧的版本中的某种已弃用的功能。任何人都更清楚这个 tops 函数是什么,或者即使它真的存在?

更新:

我找到了一份试卷。这是问题:

  1. 函数whatdoido计算什么?
0 投票
1 回答
195 浏览

haskell - haskell, typing with ordering

I have one problem. I want to implement function which will compare two nodes and give ordering,where nodes the following structure:

hugs complain about this

can you explain?(i am beginner in haskell)