Haskell是一种函数式编程语言,具有强大的静态类型,惰性求值,广泛的并行性和并发支持以及独特的抽象功能。
我是haskell的新手,有一个大学作业任务,只编译 一行仅由一个分号组成。我很好奇,这是否是有意的行为,如果是,为什么? (我...
我有这个问题,我想为 while 语言的抽象形式构建一个解释器。在 while 的情况下,我有一个 m Bool 需要在每个循环之前进行评估
我有两个本地库(我所说的本地库是指位于本地文件系统中,请原谅我的头韵),称为 bins 和 eeep,两者都构建得很好。现在 eeep 库需要来自...的功能
如何将 all/any 应用于返回类型为 Either 的函数?
此函数将返回 Either 类型。 String代表错误值,Right/Bool代表用户关心的普通布尔类型 testPre :: Rational -> Rational -> 或者
这篇博文对如何使用 Omega monad 对角枚举任意语法进行了有趣的解释。他提供了一个示例来说明如何做到这一点,从而产生无限序列
我有这样的类型: 数据问题= 问题Foo Foo | 问题栏 | 问题栏 问题巴兹巴兹 Foo、Bar 和 Baz 的名字都有一个镜头: fooName :: Lens 的 Foo 字符串 barName :: 镜头栏
AFAIK GHC 是当今最常见的编译器,但我也看到,其他一些编译器也可用。 GHC 真的是适合所有用途的最佳选择吗?或者我可以使用其他东西来代替吗?例如...
Haskell 素性测试优化。埃拉托斯特尼筛法比直接求解运行得慢
使用此代码来识别素数: 筛:: [整数] -> [整数] 筛子[]=[] 筛 (p:xs) = p : 筛 [x | x <- xs, x `mod` p /= 0] isPrime' :: Integer -> 布尔 isPrime' 2 = True 是Pri...
Bird-Meertens 可以用来计算 Haskell 中最长有效括号问题的线性时间解吗?
问题:给定仅由 ( 和 ) 字符组成的字符串,计算括号中最长匹配/有效子字符串的长度。 这是一个天真的解决方案: isValid :: 字符串 -> 布尔值 是Val...
我正在 Haskell 中开发一个小项目,目前我正在尝试通过添加使用可选 cli 标志的可能性来使其更具可扩展性。 所需的界面如下所示: 亲...
Bartosz Milewski,在第 5 章的“终端对象”部分中强调了以下内容 请注意,在此示例中,唯一性条件至关重要,因为还有其他集合(实际上,所有
MRE: 数据 MRE a = 废话 |呃一个| Umm (MRE a) (MRE a) 推导(Eq、Ord、Show) - 功能: foo :: Eq a => Char -> MRE a -> Bool -- 此处 Blah 的模式匹配 -- foo x (Eh e) | x == e =...
我无法使用不同版本的haskell安装mysql-haskell lib,我尝试9.8.2 9.6.6 和 9.4.8,其中两个在堆栈快照中提供 https://www.stackage.org/package/mysql-haskell/snap...
Clojure 替代 Haskell 的 ADT 和模式匹配?
每当在 Haskell 中我们需要一些变体数据类型时,我们都会将 ADT 与模式匹配结合使用。 Clojure 人们在此类用例中使用什么?
将积分变量初始化为 +/- infty,以实现 Haskell 中运行的最小值/最大值
在运行最小/最大问题时,例如到目前为止,minimum-so-far 通常被初始化为 \infty,以保证我们“捕获”每个最小值,无论它位于何处。 在 Haskell 中,我们...
每当 xmonad 启动、重新启动或重新编译时,我都会收到一条 xmessage: xmonad.hs:1:8: 找不到模块“XMonad” 也许你的意思是 Monad(需要标志-package haskell98-2.0.0.2) CgMonad (
如何编译(Haskell)程序,使其不需要 DLL? 我编写了一个使用 GLUT 并需要 glut32.dll 的程序。我用 ghc --make program.hs 编译了它。现在我想分发我的
在这个关于在haskell中使用fix函数进行递归的wiki中,他们定义了两种定义fix的方法。 一种结构共享: 修复 :: (a -> a) -> a 修复 x 中的 f = let {x = f x} 一个
我正在尝试编写一个类似于 zip 的函数,但不会丢弃额外的元素。我觉得我在某个地方犯了一个非常愚蠢的错误。 输入示例: zip也许 [1,2,3] [1,2] 想要的...