问题标签 [comonad]
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.
haskell - Haskell 中的 Comonad 类型类是什么?
Haskell 中的 Comonad 类型类是什么?与Comonad 包中 Control.Comonad 中的 Comonad 一样(也欢迎解释提供 Comonad 类型类的任何其他包)。我隐约听说过 Comonad,但我真正知道的是它提供了extract :: w a -> a
,有点类似于 Monad 的return :: a -> m a
。
在“真实”代码中注意到“现实生活”中使用 Comonad 的奖励积分。
haskell - 如何从一元动作中提取价值
是否有带有签名的内置函数:: (Monad m) => m a -> a
?
Hoogle 说没有这样的功能。
你能解释一下为什么吗?
haskell - 什么是商店comonad?
对 Haskell 中的 Comonad 类型类有所了解后,我听说过 Store comonad。但是看着Control.Comonad.Store.Lazy,我真的不明白。这是什么意思?它是干什么用的?我听说 Store = CoState,State Monad 的对偶。这意味着什么?
math - 我应该如何在 Haskell 中实现 Cayley 表?
我有兴趣推广一些计算工具以使用Cayley Table,这意味着基于查找表的乘法运算。
我可以创建一个最小的实现,如下所示:
然而,这种方法存在许多问题,首先是通过比较进行运行时类型检查,但包括无法正常工作ByteString
的事实。read
知道我应该如何正确地做到这一点吗?
我可以想象使用提供乘法并验证其类型一致性的类型类创建一系列 newtypes ,等等,除非在执行 IOCTElement1
时CTElement2
。Int
CTElement
理想情况下,也可能有一些技巧可以只传递这个ct_cayleytable
指针的一个副本,也许使用像 的隐式参数?cayleytable
,但这不能很好地处理多个不兼容的 Cayley 表,并且通常令人讨厌。
另外,我已经收集到向量的索引可以被视为一个comonad。是否有任何好的comonad 实例用于vector 或任何可能有助于平滑这种类型检查的东西,即使最终在运行时进行检查?
scala - Scala 中的 Comonad 示例
什么是 Comonad,如果可以用 Scala 语法描述的话。我找到了 scalaz库实现,但不清楚它在哪里有用。
haskell - Haskell cabal 反应包错误
在尝试使用 cabal 安装 Reactive 时,我得到了这个:
据此,它确实没有comonad依赖。但是,它在PrimReactive.hs中使用 Control.Comonad 。
list - 从理论上讲,这是列表的有效comonad 实例吗?
我正在尝试掌握 monads 的概念,在阅读了这篇博文之后,我想我对它们的作用以及它们与 monads 的关系有了一个深刻的理解。但是,我想我会深入研究一下这个主题,然后想想通用列表类型(你知道,[a]
)的comonad 实例会是什么样子,我发现了一个我不完全知道的是正确的。
因此,鉴于博客文章使用的实例:
我认为 for 的实例声明[a]
看起来像这样(for 的语法[a]
可能是不可能的或错误的,但你明白了这里的想法):
在这里,我们只是找到所有的subsequences
列表,但完全可以使用它powerset
或其他东西。表单列表中有几个函数,(a -> [a])
对于哪个是正确的有点模棱两可。
这是否意味着[a]
无法将其正确实例化为comonad,还是仅由用户决定cojoin
实际做什么?
haskell - 为 n 维网格类型编写 cojoin 或 cobind
使用类型级自然值的典型定义,我定义了一个 n 维网格。
现在我想让它成为 Comonad 的一个实例,但我无法完全理解它。
在 n 维网格上使用cojoin
将产生 n 维网格的 n 维网格。我想提供一个与这个想法相同的实例,即( x,y,z)处的联合网格的值应该是聚焦于(x,y,z)的原始网格。为了调整该代码,我们似乎需要进行具体化以执行“fmaps”和“rolls”。您不必那样做,但如果这有帮助,那么您就可以了。n
n
n
scala - Scala 共胞;康乃德定律?
因此,鉴于这种共单子编码(见下文),它上面的共单子定律是否正确?出于某种原因,我不认为他们是看着他们的,而且我知道从那里走错只会产生糟糕的道路,所以我会很感激轻推、提示、帮助、回答你有什么。