标签[haskell]

Haskell是一种功能性编程语言,具有强大的静态类型,惰性评估,广泛的并行性和并发支持以及独特的抽象功能。

0
1回复
16

Haskell-列表理解,创建/扩展元组列表

我正在尝试为元组列表制定紧凑的更新规则。 这是更新规则的示例: 我想要的是: 在 Haskell 的列表理解中,这样的事情可能吗? 一个可行的解决方案,但我觉得它有点难看:
-2
0回复
21

当我进入菜单并按1-运行文件时,它不执行Main.hs中的parseFile的功能,它不加载文件file.txt

如何从Main.hs的main运行 file.txt ? 我想运行一个文件。 在Main.hs中按 1 不会加载文件、打印文件或打印文件名。 这个文件是一个菜单,我在其中加载ParserProgram模块,当我执行它时,我有一个选项菜单。 当我想在第二个菜单中按 1 运行文件时,它不执行任何文件。
-2
1回复
49

Haskell中实现函数

我正在尝试使用我自己的类型和数据类来实现一个函数。 这些是我的类型: 这是我的数据类: 这是我正在尝试创建的函数的类: 现在,我被困住了,因为我相信我没有在 eval 中输入正确的参数。 这是我得到的错误:'eval' 的方程有不同数量的参数。 任何人都可以帮助弄清楚如何使该功能正常工作?
4
5回复
102

使用以下函数查找元组中的第n个元素

“使用带有两个参数的以下函数: 其中 Int 值应返回五元素元组的第 Int 个值。”我试过: 但是 GHC 给了我一个错误信息: 我该怎么办? 我应该如何写这个方程的元组部分? 提前感谢您的回答!
1
2回复
115

如何删除字符串中的特定最后一个字符

我想删除字符串的最后一个字符,如果它是“!” 我知道我想要基本情况​​,即。 如果字符串为空: remove [] = [] 如何索引最后一个字符? 使用: last 并且,为这个问题创建“if, then”循环的最佳方法是什么? 我应该使用警卫吗? |
1
1回复
27

有没有办法使用reactimate在Yampa中的getLine之外创建信号函数

我正在尝试编写一个简单的基于命令行的反射游戏,它将提示用户在随机时间后按 Enter 键,然后输出反应时间。 我正在使用基于此示例的 reactimate: https ://wiki.haskell.org/Yampa/reactimate 我的代码按照我的意图完美运行: 但是对于我在代码中标记的
0
0回复
106

RustVectors中的Haskell风格链表添加

考虑一个(哑)函数在 Haskell 中合并两个排序的整数列表:merge :: [Int] -> [Int] -> [Int]merge xs ys = reverse $ merge' xs ys []merge' :: [Int] -> [Int] -> [Int] -
3
0回复
46

HaskellCoreSyn库——如何引用内置IO类型?

我正在尝试查看以下 Haskell 代码如何转换为 Coresyn 库中定义的数据类型。 我可以通过 -ddump-simpl 获得人类可读的核心代码,但我不明白的是如何将其转换为 Coresyn 库中 Core 的数据结构。 特别是,我不知道如何翻译“IO()”位。 我的猜测是它涉及首先构建类似
0
0回复
31

inotifywait-仅在每秒保存时重新启动ghci

剧本我有一个简短的 bash 脚本,它使用inotifywait重新启动给定文件上的ghci repl:#!/bin/sh$(while inotifywait -e close_write $1; do pkill ghc; done) &while inotifywait -e clos
1
1回复
43

如何让Yampa随机度过一段时光

我正在尝试使用 Yampa 编写一个简单的 FRP 示例,而不是等待 2 秒(例如: https : //wiki.haskell.org/Yampa/reactimate )将在某些范围内等待随机时间。 我尝试了多种不同的方法来以某种方式将 randomRIO 函数引入信号函数,但无法真正掌握我应
0
1回复
63

在模块之间传播HaskellSingleton定义

我正在使用singletons和singletons-th库,并且我想(如果可能)在文件之间拆分单例定义。 我尝试创建一个数据系列,但我收到一个Declaration cannot be promoted错误。data family Fielddata family SField :: Field
-1
0回复
67

我的代码是否缺少特定的重要内容?[关闭]

关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来
0
0回复
66

用invmap代替fmap和contramap的推导

注:目前的问题是后续这一块。 丹尼尔·瓦格纳( Daniel Wagner) 给出了很好的回答。 我试图弄清楚如何为给定类型的* -> *派生自然地图。 natmap是F的自然映射,如果它等于: fmap :: (a -> b) -> F a -> F b在协变F情况下
1
1回复
58

使用cabal安装库时无法解析依赖项

我试图在 Window 10 上使用 cabal 安装库的每一次努力都导致了同样的错误:cabal install gtkcabal.exe: Could not resolve dependencies:[__0] trying: parconc-examples-0.4.8 (user goal
1
2回复
82

Haskell最左边最深的树节点

假设我有一个二叉树结构定义为data IntTree = Empty | Node Int IntTree IntTree 和树Node 0 (Node 1 Empty Empty)(Node 2 (Node 3 Empty Empty)(Node 4 Empty Empty)) 如何提取最左边最深
1
3回复
79

Haskell中“joinbimap”的签名

在 codewars 的其中一个解决方案中,我遇到了以下表达式: 其中join :: Monad m => m (ma) -> ma和bimap :: Bifunctor p => (a -> b) -> (c -> d) -> pac -> pbd
8
1回复
124

表征可以接受`()`作为输入的函数类型(没有单态化)

下面是几个简单的函数:f1 :: () -> ()f1 () = ()f2 :: a -> af2 a = af3 :: a -> (a, a)f3 a = (a, a)f4 :: (a, b) -> af4 (a, b) = a f1 、 f2和f3都能够接受()作为输入
1
1回复
45

如何修复Haskel范围内关于打字的错误

当我尝试时,我在 Linux 中使用“ghci” 我得到 终端图像
1
1回复
53

为什么使用Maybe时catch不能正确调用处理程序?

考虑以下 Haskell 代码 我打算让这段代码工作的方式是评估表达式lex_rgx rgx_str ,在它们发生时捕获任何异常,然后调用disp_lex_error来漂亮地打印错误。 (顺便说一下,disp_lex_error的代码如下 ) 但是,我认为懒惰的评估正在阻止这种情况发生。 当我在
-3
2回复
111

是否存在一种在没有Prelude和模式匹配的情况下在Haskell中声明反向函数的方法?

我正在学习 Haskell,现在我正在解决一些关于声明 prelude 函数的练习,而无需导入我必须解决的 prelude 函数。 我在编写反向函数时遇到了困难,因为我注意到没有 ( ++ ) 函数我无法反向列表。 我尝试使用:以相反的方式连接列表,但它不起作用。 你能解释一下为什么只有第一个代码有

1 2 3 4 5 6 7 8 9 10 下一页