category-theory 相关问题

*类别理论*是抽象数学的一个分支,涉及揭示和描述逻辑和数学系统的基础结构。事实证明,类别理论中的概念作为构建编程语言和程序本身语义的工具非常有效。各种类别的理论结构被用作编程抽象的工具,包括仿函数,monad和代数。

如何在Lean4中定义free monads和cofree comonads?

在 Haskell 中我们可以这样定义这两个: 数据 Free (f :: Type -> Type) (a :: Type) = Pure a |自由(f(自由f a)) 数据 Cofree (f :: Type -> Type) (a :: Type) = Cofree a (f (Cofree ...

回答 1 投票 0

如何在 Rust 中实现 Functor 特征?

我正在研究《程序员范畴论》,其挑战之一是实现 Functor 接口。 这个问题提供了以下解决方案: 酒吧特质函子 { 类型

回答 1 投票 0

文献和图书馆中对“零表达符”的抽象使用的名称是什么

在现实世界的应用中,我注意到一种模式可以概括为: 纯脚本: 类泛函子 p <= Zero p where pzero :: forall a b. p a b -- such that `forall f g. d...

回答 1 投票 0

不理解 Monoid 定义中态射的表示法

我试图从范畴论的角度理解 Monoid 是什么,但我对用来描述它的符号有点困惑。这是维基百科: 在范畴论中,幺半群(或幺半群

回答 1 投票 0

偏序集中的乘积和联积

在阅读 Bartosz 的优秀程序员类别理论时,我陷入了第二个练习,该练习涉及偏序集中的乘积。给定一个偏序集, 是 ↗ ⤭ ↘ a → c f → h ↘ ...

回答 1 投票 0

Haskell 中的双函子与范畴论中的双函子

在Haskell中,Bifunctor类定义如下: 类双函子 p 其中 bimap :: (a -> b) -> (c -> d) -> p a c -> p b d 在范畴论中,根据 ncat,双函子是...

回答 1 投票 0

使用变形术忘记 Cofree 注释

我有一个 AST,正在使用 Cofree 进行注释: 数据表达式 = 常量整数 |添加一个 A |穆拉 A 推导(Show、Eq、Functor) 我使用 type Expr = Fix ExprF 来表示未标记...

回答 1 投票 0

从 cofree comonad 派生 monad

Edward Kmett 在他的博客上写道,使用 Co newtype(来自 kan-extensions 包),可以从任何 Comonad 派生出 Monad。我想学习如何机械地为任何...

回答 0 投票 0

类型构造器`Maybe (BTree a)`是monad吗?

问题 像这样在 Haskell 中定义类型构造函数 F : 数据 BTree a = 叶子 a |分支 (BTree a) (BTree a) 数据 F a = F(也许(BTree a)) 类型构造子 F 是多项式的,所以它是一个 Fu...

回答 1 投票 0

如何证明荒谬模式的两个应用在 Cubical Agda 中产生相同的结果?

重范畴论(agda-categories)相关问题。 我试图定义一个自然变换并证明它的自然性广场通勤。本质上,我遇到的错误是两个“

回答 1 投票 0

是否可以将这个lmap

我想把双叉函数lmap泛化一下。lmap通常是把一个函数映射到双叉函数的左边漏斗中。首先,我将Functor的概念泛化为超越...的类别。

回答 1 投票 1

`liftM`这个名字的灵感来自数学中的升降机吗?[不公开]

我是一名数学博士生,辅修CS,目前正在上Haskell的课。我们刚刚学习了 liftM。这些概念看起来很相似,但我还没能搞清楚 liftM 究竟是如何 ...

回答 1 投票 3

将代码从Haskell翻译成SML的煤代数列表。

我试图在Haskell中翻译这段描述List anamorphism的代码,但不能完全让它工作。最后三行应该是生成一个函数计数,给定一个 ...

回答 1 投票 0

如何对它进行自然改造呢?

我打算使用奇妙的库https:/tpolecat.github.iodoobie,而且功能齐全。我是通过第一个例子,我已经认识到。Transactor是一种数据类型... ...

回答 1 投票 0

在更广泛的背景下的自然变形。

我一直在通过Haskell中的一些类别理论来创建更通用的Monads。在我进入下一步之前,我需要能够使用自然......。

回答 1 投票 3

为什么ghc不能在这个Category产品上匹配这些类型?

我有一个非常典型的类别定义,是这样的: class Category (cat :: k -> k -> Type) where id :: cat a a (.) :: cat a b -> cat c a -> cat c b Now I would like to make the ...

回答 1 投票 2

为什么相互屈服使得ArrowApply和Monads等同,不同于Arrow和Applicative?

这是我要参考的SO帖子。另外,为了不把材料分开,我在那个问题上要用和上位者一样的片段。众所周知,一个ArrowApply实例......。

回答 1 投票 8

如何做左空洞?

我试图理解https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Void.html,并具有以下示例:let x :: Eoider Void Int; x =左无效代码未获得...

回答 2 投票 0

是否有两个函子之间不存在自然变换?

我有一个Task,它基本上是具有合并错误情况的延续类型,并且是Optional,它表示可能不会产生结果的计算。似乎是自然的...

回答 1 投票 0

将代码从Haskell转换为SML时遇到麻烦

我正在尝试将以下代码从SML转换为haskell,但遇到了一些麻烦。类型List_alg x u =(u,x-> u-> u)list_cata :: :: List_alg x u-> [x]-> u list_cata ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.