Haskell是一种函数式编程语言,具有强大的静态类型,惰性求值,广泛的并行性和并发支持以及独特的抽象功能。
我正在尝试思考如何在 Haskell 中的线程之间正确通信。 我有多个线程读取某些状态,每当状态发生变化时,它们都需要进行一些更新。然后我...
当 WHERE 子句中的日期时间中包含“T”时,SQLite 查询不返回数据
以下查询不返回任何数据: 选择“t0”。“id”AS“res0”,“t0”。“时间”AS“res1”,“t1”。“名称”AS“...
当 JOIN 查询的日期时间中包含“T”时,SQLite 查询失败
以下查询失败: 选择“t0”。“id”AS“res0”,“t0”。“时间”AS“res1”,“t1”。“名称”AS“res2”,“t1&
有人可以向我解释一下这些 Iterator、Yield monad 类型和函数的含义吗?就像我 5 一样?
下面是代码。我在一定程度上理解了applicative、functor、traversable和monad。迭代器、yield 类型以及yield 函数是我最难理解的。对于前...
我开始在 RSA 加密项目中使用 Haskell。 通过深入研究 hackage,我发现了两个不同的软件包来实现我的目标。问题是每个包都有自己的相同类型的版本。 ...
我正在尝试为树编写一个折叠函数: 数据二叉树 a = 叶子 |节点 (二叉树 a) a (二叉树 a) 推导(Eq、Ord、Show) 折叠树 :: (a -> b...
在阅读了 Haskell 中的类型类之后,我认为它们就像 Java 接口 您可以在类型类 (Num) 和任何 data/newtype(Foo) 声明的类型中定义一组方法,如果它想成为 p...
我有以下代码片段,用于读取由镜头(lens-aeson)表达式指定的值: 导入 Control.Lens ((^?)) 导入Data.Aeson(值) 导入 D...
Haskell 不允许改变全局变量,这是动态编程的关键概念,所以我想出了一个解决方案。 这依赖于 Haskell 的惰性求值和无限列表 难道我...
Haskell 和其他函数式编程语言都是围绕不维护状态的前提构建的。 我对函数式编程的工作原理和其中的概念仍然很陌生,所以我想知道我......
为什么这里不需要UndecidableInstances,例如C1
在其他上下文中尝试此操作需要扩展(这似乎是正确的),但在这里不是: {-# 语言类型系列 #-} {-# 语言量化约束 #-} 导入数据.Kind(类型) 类(对于所有...
VS Powershell 不允许我编译,但在外部使用它可以
我目前使用两种不同的语言,并且两种语言都有类似的问题。对于 Java,VS code 中的 powershell 不允许我使用 Javac 进行编译,并且我无法将 GHCI 用于 Haskell。 哈...
如何使用 gstreamer 和 haskell 获得某些视频流的无限循环?
我正在关注 https://github.com/haskell-gi/haskell-gi/blob/master/examples/advanced/GstHelloWorld.hs 的教程,我正在尝试修改它以便我可以拥有 Gstreamer播放一些视频文件...
这个节目 {-# 语言 LambdaCase #-} 导入 Control.Concurrent (threadDelay) 导入 Control.Concurrent.Async (withAsync) 导入 Control.Exception(最后) 导入 Control.Monad(永远) 主要...
有没有办法在本地(即在我的机器上)检查我的 cabal 项目对 Hackage 提供的任何环境的依赖关系?
前言和我之前的问题一样 前段时间我参与了这个项目,并对候选包进行了一些实验。 然后,昨天,我在 hackage 上上传了真正的包。
考虑到一流的家庭图书馆,我有一个代码: 导入 Fcf.Data.Common 导入 Fcf.Core 输入 T a b c = '(a, '(b, c)) ...
什么决定了 GHC(以及 Cabal、HLS、...)版本在 GHCup 中被标记为“推荐”?
我倾向于坚持“推荐”版本: ┌──────────────────────────────────GHCup────────────── ──────────────────┐ │ 工具版本标签注释...
如何压缩两个列表,例如 [“线路1”,“线路2”,“线路3”] [“4号线”,“5号线”] 不丢弃第一个列表中的其余元素? 如果可以的话,我想用空列表压缩额外的元素。
如果我有一个有趣的函数,例如: -- 例如,`SomeRecord`可以有超过2个字段, -- 但是 20 或 30 数据 SomeRecord a b = SomeRecord { f1 :: a -> b, f2 :: a -> b -> 布尔 } 有趣::
纯粹是为了体验Hackage下载,我尝试获取一个尽可能简单的包。 这个: 似乎具有最小的依赖性(仅在基础上)。 它已经很旧了(2016 年),但最近有一些