Haskell库中是否存在这种数据结构?我做了一些搜索,但找不到任何有用的东西。我想使用现有的类型,而不是定义我自己的类型——它似乎应该存在。 这个想法是它与Data. Tree非常相似,但是边可以保存信息和节点。 如果你有一个通过树的路径(类型为[e]),你可以在O(log(n))中找到rootLabel(类型为n)。据我所知,你不能用Data做这件事。树,因为您必须扫描每个节点的子节点,以查找
如果二叉树是使用递归的bst,我正在尝试编写一个bool函数来返回true,我需要一些关于haskell语法的指导。 我知道要使二叉树成为 bst,左侧子树必须始终仅包含小于头部的节点。并且右侧子树必须始终仅包含大于头部的节点。我正在这样构建我的函数: 但是此代码会导致错误: 无法将预期类型“Bool”与实际类型“Int”匹配 参考
这可以用作 其中,是包含具有对应类型的别名的结构,该别名在编译时解析。这方面的另一个示例是,它对应于 我能在Haskell做一些类似的事情吗,例如。 ? 我不熟悉Haskell的编译时类型功能,但这可能吗?
我试图编写一个递归函数,它将包含整数列表的列表作为输入,并返回类型为([Int],Int]的元组。([Int],Int) 这是为“棋盘游戏”提供的,其中提供了一个棋盘: 这将是一个4行5列的电路板。列表中的数字是“硬币价值”。这个棋盘游戏的目标是从列表的顶部到底部收集硬币。你可以从最上面一排的任何位置开始,然后向下移动,你可以直接向下移动,也可以对角向左或向右移动。你需要的路径将为你提供最大的总硬
我正在尝试创建一个函数,该函数将元组列表作为参数,并按第二个元素排序。它不打印任何其他内容,只打印错误“***Exception:main”。hs:20:1-76:函数sortWords中的非穷举模式’以下是代码: 下面是我如何调用函数的 我得说我是在计算机上运行我的程序的http://Repl.it网站 谢谢!
我正在学习函数式编程的入门课程,其中我们使用Haskell。练习的一部分是为输入字符串编写解析器。 然而,我无法解决以下错误,或者得到实际发生的事情。 错误来自这一行: 我期望发生的是,输入字符串被拆分成一个行列表,并传递给parseTrack。然后,parseTrack将使用模式匹配来命名列表中最前面的两个字符串(行)和其他字符串。 然而,我认为正在发生的是finish是列表中的顶部元素,sta
我对哈斯克尔有意见。我有这样的文本文件: 我不知道如何获得前两个数字(上面的2和7)和最后一行的列表。每行的末尾都有点。 我试图构建一个解析器,但名为readFile的函数返回名为IO String的Monad。我不知道如何从那种字符串中获取信息。 我更喜欢在一系列角色上工作。也许有一个函数可以将“IO字符串”转换为[Char]?
在过去的几个月里,我一直在学习Haskell,我遇到了一个Monoid的例子,这让我感到困惑。 根据这些定义: 还有这棵树: 示例来源:http://learnyouahaskell.com/functors-application-functors-and-monoids#monoids
我刚开始学习Haskell,但是现在没有循环是非常令人沮丧的。我想出了如何为函数编写循环。然而,我的问题是,我想在迭代循环时输出一些结果。似乎我必须使用debug来执行这个简单的任务。 所以现在我只想举一个例子,说明如何在主结构中打印字符串10次。 换句话说,我想这样做10次: 谢谢。我觉得这对我的任务很有启发。
(1) (2) (3)
我们从右到左都知道并爱/恨作文: 什么是自然/从左到右组合的“最标准”操作符(如在某种公共库中):
我正在学习串联语言的基础知识,其最初的想法是函数名串联与函数组合相同,而不是像Haskell那样是函数应用程序。 Joy、Forth或Factor是postfix,这意味着基于堆栈,但也有一些前缀级联语言,如OM。 我想知道Haskell变体在理论上是否可以通过交换(甚至相等)组合优先级(现在9)和函数应用优先级(现在10)而成为一种串联语言。 如果Haskell中的值只是零参数函数,为什么函数应
从数学上讲,函数合成操作是关联的。因此: 因此,可以将函数合成操作定义为左关联或右关联。 由于Haskell中的正常函数应用(即术语的并列,而不是操作)是关联的,所以我认为函数组合也应该是关联的。毕竟,世界上大多数人(包括我自己)都习惯于从左到右阅读。 null
我如何在Haskell中解决这个问题? Q4.HS:7:18:无法将类型“[Char]”与“IO()”匹配预期类型:IO()实际类型:“(-)”的第一个参数中的字符串,即“(+)”的第二个参数中的“n”,即“(n-1)” Q4.HS:7:24:无法将类型“[Char]”与“IO()”匹配预期类型:IO()实际类型:“(-)”的第一个参数中的字符串,即“(*)”的第一个参数中的“n”,即“(n-1)
模板Haskell能找出类型类中声明的关联类型同义词的名称和/或声明吗?我希望能做我想做的事情,但它似乎没有提供所有必要的信息。它用于获取函数类型签名: 但是,将关联的类型同义词添加到类中不会导致输出中的更改(直到重命名):