
[英]"List like" conduit newtype
我们有一堆代码目前正在使用列表,它们可能应该使用管道。 但这发生在我身上: 这种方法只是简单的转换,因为在大多数情况下我只需要将[a]泛化为fa然后我可以将管道放入现有逻辑中。 在我看来,这些实例中的每一个都应该是可写的(至少我认为),以保持管道的恒定空间使用。 这是一个合理的假设吗?如果是这样,是 ...
[英]"List like" conduit newtype
我们有一堆代码目前正在使用列表,它们可能应该使用管道。 但这发生在我身上: 这种方法只是简单的转换,因为在大多数情况下我只需要将[a]泛化为fa然后我可以将管道放入现有逻辑中。 在我看来,这些实例中的每一个都应该是可写的(至少我认为),以保持管道的恒定空间使用。 这是一个合理的假设吗?如果是这样,是 ...
[英]What is the meaning of (`addTwo` 4) 5?
用一个简单的 Haskell 加法器 function 和以下表达式 我理解前两个表达式。 但是,第三个如何工作? 表达式(`addTwo` 4)是否变成一个参数的 function? 这里的一般原则是什么? ...
[英]Why is using rdeepseq not sufficient to finish reading from a handle before closing it?
我一直在慢慢地通过Real World Haskell 。 在第 24 章中,作者详细介绍了一个程序,用于分块读取文件,然后以 MapReduce 方式对其进行处理。 但是,它因hGetBufSome: illegal operation (handle is closed)而失败。 该程序精简为 ...
[英]construct a chain using algebraic data type
我正在尝试学习使用代数数据类型,但我遇到了一些麻烦。 所以我想创建一个链条,它有金链、银链或白金链。 目前我有以下数据类型: 但现在我不确定如何构建链我试图构建一个按以下顺序具有以下链接的链:Platinum, Gold, Gold 这就是我构建它的方式: 但我不确定它是否正确。 提前致谢! ...
[英]How to iterate and divide two list by each other in haskell?
所以我有一个列表 A = [3,5,6,8,9] 和列表 B = [1,2,..] 无限列表 B 保持不变,但 A 发生变化,简而言之,我想将列表 C 返回为 True 或 False 所以最后的目标是返回一个列表 c,它告诉特定索引处的元素是否可以被其从 1 开始的索引整除。 ...
[英]How would I quick sort this type horse which is a 2-tuple consisting of a String (the horse’s name) and an Int (the horse’s height in centimetres)
我正在尝试按每匹马的高度按升序对其进行快速排序。 列表的一个示例是 [("Thunder",125),("Lightning",115),("Bolt",135)]。 我尝试了以下; 所需的输出将是 [("Lightning",115),("Thunder",125),("Bolt",135)]。 ...
[英]reading Csv as custom data types
我在某些文件路径中有一个filePath ,其中有两列没有标题 我已经能够这样阅读 csv: 如果我有 csv 列的自定义数据类型: 如何修改以上内容以解码/读取此数据类型的文件? ...
[英]Parsing Input Using Expression Tree
所以我试图获取用户输入,然后将其解析为我已经为其设置表达式树的表达式。 我拥有的表达式树是: 然后我尝试获取输入,然后使用以下两行对其进行解析。 关于获取输入或使用阅读,我是否遗漏了什么? 它给我的错误是: ...
[英]Casting list of lists in Haskell
我有一个初学者 Haskell 问题。 今年我正在使用 Advent of Code 学习 Haskell。解决第一个问题,我需要将字符串转换为整数。 这是我的代码:import Data.List.Split import System.IO main = do input <- ...
[英]Deconstructing type in Haskell
我有一个数据类型: data Days = Mon Int | Tue Int | Wed Int | Thu Int | Fri Int data Days = Mon Int | Tue Int | Wed Int | Thu Int | Fri Int 问题是我不知道如何解构它。 例如,我需要 ...
[英]Megaparsec parse many until given marker with backtracking
我正在尝试使用 megaparsec 解析以下输入(如果这听起来对 2022 年第 7 天代码挑战的到来很熟悉,那是因为它是): 我想将其解析为以下数据结构:data DirContent = File (Integer, String) | Directory String deriving st ...
[英]Haskell count positive and negative numbers separately in a list
我可以用这个来计算阳性发生的次数: 但是,我无法同时计算正数和负数。 对于输入[1,2,3, -1,-2]我希望(3,2)作为 output。我该如何实现? ...
[英]Check tuple to see if there are different values assigned for same element in lists
Haskell 的新手,正在尝试解决问题。 我正在使 function conflicts与签名conflicts:: Tuples -> Bool其中 Tuples type Tuples = [(Char,Int)] 。 这个 function 的目的是检查相同的字符是否被分配了不同的 ...
[英]Trying to add deriving(Show, Read) to an expression tree
我是 Haskell 的新手,所以它可能是我遗漏的一些简单的东西,但我有一个看起来像这样的表达式树: 该代码工作得很好,但是当我尝试添加一个派生(显示,读取)以便 Haskell 自动编写代码来读取和写入这种类型的元素时,它会抛出错误。 这就是我想要做的。 Lit Float deriving(Sh ...
[英]Smallest distance in a list to the number 0 supplies amount of that number with map
我想创建一个 function absmin,它获取浮点数列表并返回与 0 之间距离最小的数字的数量。我们应该使用 function map 来实现。我的第一个想法是 function abs 提到了这个问题数量,但知道我的问题是,如何创建与 0 的距离最小的点以及 map function,有人 ...
[英]`Haskell` extension for `VSCode` not working on `Linux`
我安装了ghcup并且: 堆栈 2.9.1 HLS 1.8.0 阴谋集团 3.6.2 GHC 9.2.5 都是推荐版本(我用ghcup tui验证过)。 然后我在VSCode中安装了Haskell扩展。 不幸的是,它不起作用。 我得到了语法高亮显示(来自Haskell Syntax Highl ...
[英]I would use a list comprehension, but the number of variables to bind is unknown
我想概括的例子以下 function 使用从1到top的整数生成每个长度为 2 的列表[a,b] ,其中a < b 。 这是在行动: 我想要的概括 ascendingPairs仅针对生成的列表的长度应为 2 的特殊情况定义。如果我不知道 output 列表应该有多长,并希望该长度作为参数怎么办 ...
[英]Applicative Instance of Pair Data Type in Haskell
我正在尝试将此对数据类型实现为应用仿函数,但我被告知“a”不在范围内。 我认为已经在实例声明中说明了“a”是什么。 ...
[英]List comprehenension in the case of countpositives
我想到 function 来计算列表中的所有正数。 我的想法是 该代码有效,但我认为可以使用过滤器 function 或守卫来编写。 是否可能,如果是,我该如何编写? ...
[英]Use declared variable in instance definition in Haskell
我正在尝试为我的数据类型实现Representable的(简化版本),但我不允许在定义中使用第一个数据类型参数:question.hs ----------- {-# LANGUAGE TypeFamilies #-} class Representable f where type Re ...