相关疑难解决方法(0)

monad只是endofunctors类别中的幺半群,问题是什么?

谁首先说了以下几点?

monad只是endofunctors类别中的幺半群,问题是什么?

在一个不太重要的注意事项上,这是真的,如果是这样,你能给出一个解释(希望有一个可以被没有Haskell经验的人理解的那个)吗?

monads haskell category-theory monoids

708
推荐指数
6
解决办法
15万
查看次数

编程中有没有通用的函子(不限于自函子)用法?

编程中有没有通用的函子(不限于自函子)用法?

我理解使用内函子的原因是使结构变得简单,如 monoid 或 monad。

我也最终明白,所有的值都归结为一种编程语言的类别(例如 Hask),但我在这里谈论的是同一类别的字符串、数字、布尔值或函数之间的内函子。

相关问题:

所有的 Haskell 函子都是内函子吗?

函子和自函子的区别

javascript haskell functor category-theory

2
推荐指数
1
解决办法
317
查看次数

什么是一个不是身份函子的endofunctor的好例子?

在Frisby 教授介绍可组合功能JavaScript中引入了身份仿函数:

const Box = x => 
   ({ 
       map:  f => Box(f(x)),
       fold: f => f(x)           // for testing
   })
Run Code Online (Sandbox Code Playgroud)

我花了大部分时间来理解函子以及为什么上面的JavaScript代码实际上是身份函子.所以我想我会改变它以获得一个不是身份函子的"真正的"函子.我想出了这个:

const Endo = x =>
   ({ 
       map:  f => Endo(f(x).split('')),
       fold: f => f(x).split('') // for testing
   })
Run Code Online (Sandbox Code Playgroud)

我的理由是用Box,Id_Box: Box -> BoxId_Box f = f.远藤也会映射到自己,但Endo(f): Endo(x) -> Endo(y)(如果f: x -> y).

我是在正确的轨道上吗?

编辑:替换为原始示例中string的更通用x.

javascript functional-programming category-theory

1
推荐指数
1
解决办法
722
查看次数