问题标签 [category-abstractions]
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 - “介于”类别和箭头之间的类型类有意义吗?
通常你有类似 an Applicative
withoutpure
或类似 a Monad
, but without的东西return
。semigroupoid包用和覆盖了这些情况。现在我处于类似的情况,我无法定义一个有意义的函数,但我认为其他函数会很有意义。Apply
Bind
Arrow
arr
我定义了一个包含函数的类型,它是反向函数:
现在我无法实现Arrow
,但更弱一些:
我认为我无法实现 , 的等价物&&&
,因为它被定义为f &&& g = arr (\b -> (b,b)) >>> f *** g
,并且(\b -> (b,b))
不可逆。不过,您认为这个较弱的类型类可能有用吗?从理论的角度来看,它甚至有意义吗?
haskell - Control.Category 有什么用?
如果我发现某个东西是Monoid
or Monad
,我就会使用各种有趣的功能,比如foldMap
,sequence
甚至mapM
。他们让我开心。
如果我发现某物是 a ,我会得到什么Category
?id
除了超载和之外,我还有什么好玩的(.)
吗?
haskell - 以这种方式定义构图有什么问题?
我正在阅读一些箭头教程,玩弄返回自己新版本的函数以试图保持某种状态。
新类型的定义如下:
因为我希望能够组成电路,所以我将其设为 Category 的一个实例。组成两个电路时,结果也必须是一个电路。 (Circuit b c) . (Circuit a b)
给出一个Circuit a c
.
我写了这个:
但它失败了:
我在教程中查找了答案,这个答案引入了一个像这样的中间函数,它编译得很好:
我看不出有什么区别。
haskell - 无论实例如何,在哪里使用 Haskell 类别组合?
我想我几乎弄清楚了 Category 类代表什么。然而,在这个抽象级别上,我想知道在哪里可以找到它的通用用途。
哪些代码 using.
或id
fromControl.Category
发现了不同实例的实际用途?
haskell - 在 Haskell 中定义类别和类别法则
我通过直接将定义和定律翻译成 Haskell 来学习范畴论,这让我很开心。Haskell 当然不是 Coq,但它帮助我获得了对范畴理论的直觉。我的问题是:以下是对 Haskell 类别定义的合理“翻译”吗?
haskell - 指数类型的推广
(如果有的话) (->)
( a -> b
as b a ) 的指数解释如何推广到 Hask/Set 以外的类别?例如,对于非确定性函数类别的解释似乎大致Kliesli [] a b
为2 a * b ( a -> b -> Bool
)。
haskell - 泛化 ($),如 Control.Category 泛化 (.)
我想像泛化($)
一样进行Control.Category
泛化(.)
,并且我已经使用本文末尾的代码(也是 ideone)这样做了。
在这段代码中,我创建了一个名为FunctionObject
. 此类具有具有($)
以下签名的函数:
自然地,我创建(->)
了这个类的一个实例,以便$
继续使用普通函数。
但这允许您创建特殊函数,例如,知道它们自己的逆函数,如下例所示。
我已经得出结论,有以下三种可能性之一:
- 我是第一个想到的。
- 其他人已经做到了,而我正在重新发明轮子。
- 这是个坏主意。
选项 1 似乎不太可能,我在hayoo上的搜索没有显示选项 2,所以我怀疑选项 3 最有可能,但如果有人能解释为什么会这样,那就太好了。
haskell - (\f -> fmap f id) 是否总是等价于 arr?
的一些实例Category
也是 的实例Functor
。例如:
这里arr f = fmap f id
为instance Arrow State
. 这对所有的实例Category
都是真的Functor
吗?类型签名是:
在我看来,它们应该是等价的。