haskell 相关问题

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

需要帮助解决我的 Haskell 代码中关于调车场算法的问题

我正在学习Haskell,我正在尝试实现非常基本的调车场算法来读取非常基本的数学表达式。例如A+B-C*D。 这是我当前的算法:

回答 1 投票 0

如果我显式启用 DerivingStrategies,Cabal 与 GHC 不同,为什么不会自动启用 GeneralizedNewtypeDeriving?

(第一次玩这些东西。) 从文档中我倾向于认为,如果我启用 DerivingStrategies 扩展,我不需要启用 GeneralizedNewtypeDeriving 或

回答 1 投票 0

在 Haskell 中定义新类型与持久类型的惯用方法

我有一个代表持久记录的类型。我想要一个非常相似的类型来表示应该发布以创建新记录的数据。 这是完整的类型: 数据记录 = 读取...

回答 1 投票 0

Haskell 中列表类型的混乱

据我了解,[a]意味着可以有一个列表,其中可以有任意数量的嵌套列表。 f :: [a] -> a f (x:xs) = x 可以在没有 i 的情况下调用 f [[1,2]] 或 f [[[True]]]]...

回答 1 投票 0

使用 Megaparsec 解析 ` Between` 内部

我正在为类似 Markdown 的文档格式编写一个解析器。我希望能够将 ^[some *formatted* text] 之类的内容作为语法定义中的脚注进行匹配。这是一个最小的例子: {- 出租车...

回答 1 投票 0

如何在现有语言中指定不同语言结构的抽象语法?

我试图解决在 Haskell 中指定不同语言结构的抽象语法的问题,例如变量声明、数组声明、if-else 语句等,但我同意...

回答 1 投票 0

如果类型安全是唯一的动机,那么将 Int (不是一般类型)包装在另一种类型中的正确方法是什么?

我使用了 Map String (Int, Int),其中两个 Int 用作分子和分母以形成要传递给 fromList 的有理数。 然后我意识到在我的代码中的某个点我使用了......

回答 1 投票 0

JavaScript 中的 takeWhile 实现 - 寻找更好的想法

Haskell 有一个 takeWhile 函数: 前奏> takeWhile 奇数 [1,3,5,7,8,9] [1,3,5,7] 只要应用谓词函数结果为 True,它就会从列表中“获取”元素。此时它是...

回答 5 投票 0

mysql-haskell 没有调用 try 函数的正确情况

我正在编写带有servant和mysql-haskell包的简单服务器,我在其中调用一些插入查询,这部分代码: ... 结果<- try $ M.query conn ("insert into `user` (`email`,`na...

回答 1 投票 0

Haskell 和 Visual Studio Code 错误

我开始学习 Haskel 编程语言并决定使用 Visual Studio Code。 我在 VS 中正确安装了所有 haskell 和 stack 以及一些 haskell 扩展。 当我创建项目时...

回答 2 投票 0

具有函数依赖的“实例中非法类型同义词族应用”

我有一个具有函数依赖性的多参数类型类: 多 a b 类 | a -> b 我还有一个简单的、非单射类型的同义词族: 类型家庭 Fam a 我想写一个即时...

回答 1 投票 0

如何在 Haskell 中确定文件文本编码而不使用 openFile 获取句柄?

问题是 openFile 假定 UTF-8 并且句柄返回该编码作为编码。 真正的问题是我正在获取(由学生)提交的以 UTF-16LE 编码的文件,我想要识别这些文件,s...

回答 1 投票 0

发送 POSIX 信号(SIGTERM 等)时在多个 Haskell 子线程中运行清理函数

TL;DR - 我如何在 Haskell 中进行以下工作: 向具有许多活动线程(每个线程都在执行一项作业)的长时间运行的程序发送 SIGTERM 让所有子线程运行清理函数(更新...

回答 1 投票 0

无法理解Haskell/Clash中奇怪的“where”语法

我对 Haskell 还很陌生,目前正在做一个 Clash 项目。我花了几天的时间来理解这些代码在 Haskell 中的含义: 一个例子来自复古冲突一书 https://g...

回答 1 投票 0

Haskell 语言服务器尝试使用不正确的 GHC 版本

我正在尝试在 Spacemacs 中使用 Haskell 语言服务器。我使用 ghcup 安装了 HLS。我的操作系统是Ubuntu 20.04.5。在 Spacemacs 中打开 hs 文件时,我收到以下错误消息: 不...

回答 1 投票 0

Haskell 中的垃圾收集和内存管理以及惰性求值

我试图了解 Haskell 中垃圾收集和内存管理的细节,特别是在惰性求值的背景下。我一直在使用地图等功能,并注意到

回答 1 投票 0

Haskell:从类型系统中将 DataKinds 类型的值获取到函数中

我正在Haskell中使用DataKinds,现在我想知道是否可以获得该值 从类型系统回来继续工作。 这是一个例子: 数据 MyType = Constructor1 |构造函数2 | ...

回答 1 投票 0

带有“虚拟”参数的类型类方法

类型类数据。 Bits 有一个 isSigned :: a -> Bool 方法,如果参数的类型是有符号类型,则返回 True。文档明确指出该参数被忽略。还有其他的...

回答 1 投票 0

Haskell:关于带有“虚拟”参数的类型类方法的问题

类型类数据。 Bits 有一个 isSigned :: a -> Bool 方法,如果参数的类型是有符号类型,则返回 True。文档明确指出该参数被忽略。还有其他的...

回答 1 投票 0

Haskell Foldr1 lambda 函数添加元组值

我一直在挠头试图弄清楚这一点。如何使用foldr1(或任何其他折叠)来获取列表中元组的总和。 例子: 列表 = [(1,2), (3,4)] 总和 = 1...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.