问题标签 [semigroup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sorting - 你能把冒泡排序表述为一个幺半群或半群吗?
给定以下冒泡排序的伪代码
这是冒泡排序作为 Scala 的代码
这是 Haskell 的实现:
是否可以将其表述为幺半群或半群?
scala - 你能为基数排序制定一个幺半群或半群吗?
这是基数排序的伪代码:
这是基数排序的 Scala 代码:
这是基数排序的 Haskell 代码:
我的问题是:你能为基数排序制定一个幺半群或半群吗?
c - 如何通过高效算法获得有限集合上的所有代数关联运算?
一组 2 个元素的二元运算数是2^(2*2)=16
.
该集合上的关联二元运算数仅为 8。
一组 3 个元素的二元运算数为 3^(3*3)=19683。
该集合上的关联二元运算数只有 113。如何知道一组 n 个元素有多少关联二元运算?
此外,为了获得所有这 113 次操作并写入文件,还需要编写一个程序。
如果我将尝试获取所有 19683 操作,然后检查所有 19683 操作的关联属性“a*(b c)==(a b)*c”,这将起作用,但这需要很长时间=4个元素!
如何编写一个高效的算法来解决这个任务?
请帮我!
typeclass - 将命名实例用于其他实例
我正在尝试在 operator和 operator上对我的自定义数据类型Semigroup
创建一个和VerifiedSemigroup
实例:Bool
&&
||
所以我首先为over 运算符创建一个命名实例:Semigroup
&&
但是在创建VerifiedSemigroup
实例时,我如何告诉 Idris 使用 的TodosSemigroup
实例Lógico
?
该代码给了我以下错误:
详细说明类型时
Prelude.Algebra.Main.TodosVerifiedSemigroup
,方法semigroupOpIsAssociative
:无法解析类型类Semigroup Lógico
scala - 为什么 scalaz 中没有 TrieMap 的 Semigroup 实例
虽然我能做到
好像没有支持
为什么 ?
scala - 为什么 Scalaz 中没有 A => M[A] 的 >=> 半群?
这是我上一个问题的后续
Kleisli
定义了两个运算符<=<
(compose) 和>=>
(andThen)。对>=>
我来说看起来很自然,我不明白怎么<=<
会有用。
此外,看起来没有>=>
半群,A => M[A]
但<=<
半群确实存在。
其背后的原理是什么?
haskell - mempty 的定义不同,具体取决于 mempty 是左参数还是右参数?
我有以下数据类型和半组实例:
我想为上述类型制作一个幺半群实例,但我不知道该怎么做。如果我使用以下定义
它适用于所有输入对<>
,除了我mappend
这将评估为mempty
.
我该如何解决这个问题以使其mempty
有效?似乎没有一些新的语法或概念就无法完成,因为它取决于 mempty 是在左边还是右边......
algorithm - 计算幺半群/半群的所有中缀积
简介:一组中缀产品
假设我有一个小组
和元素列表
如果我们的目标是实现一个功能
这样
(我们不关心如果i
>会发生什么j
)
然后我们可以通过预先计算一个前缀表来做到这一点
(1
右侧表示 的单位G
),然后实现f
为
这有效,因为
所以
经过充分的重新关联。
我的问题
如果 G 只是一个幺半群,而不是一个群,我们能否挽救这个想法,或者做一些不那么糟糕的事情?
对于我的特殊问题,如果我们可以做类似G = ([0, 1] ⊂ ℝ, *)
的事情,即我们有来自单位行的实数,我们不能除以0?
scala - 定义一个依赖于自身的 Semigroup 实例
... 或者 Haskell 程序员不得不编写 Scala 代码的事故,第 5 部分。
我在 Scala 中有以下结构:
而且,使用 Cats,我想定义Semigroup
它的一个实例。
这将导致以下错误:
所以,我的猜测是,由于我正在为Semigroup
Scala 编译器定义实例,因此无法派生Semigroup
of的实例Map[String, ResourceTree]
。这似乎得到了证实,因为编译了以下实例:
我真的希望我错了,因为如果这是在 Scala 中为 Semigroup 定义实例的正确方法,我将开始考虑放弃用这种语言做 FP 的想法。
有没有更好的办法?