提升(在函数式编程环境中如何与类别理论联系?

问题描述 投票:20回答:2

Haskell文档,提升似乎基本上是fmap的概括,它允许使用多个参数进行函数映射。

Wikipedia关于提升的文章给出了不同的观点,它根据类别中的态射以及它如何与类别中的其他对象和态射定义了“提升”(我不会给出详细信息这里)。我想这可能与Haskell情况有关,如果我们考虑使用Cat(类别的类别,从而使我们的形态射函数成为仿函数),但是我看不到电梯的这一类别理论概念如何与Haskell中的类别概念相关联基于链接的文章(如果有的话)。

如果这两个概念并没有真正的关联,只是名字相似,那么Haskell所使用的升降机(类别理论是根本吗?

haskell category-theory
2个回答
22
投票

升降机和扩展的双重概念在Haskell中是绝对使用的,也许是以共音extend和单子bind为幌子的。 (令人困惑的是,extend是一个升程,而不是一个扩展。)组合wextend让我们采用函数w a -> b并沿extract :: w b -> b进行升标以获得地图w a -> w b。在ASCII艺术中,给定图


0
投票

“提升”在函数式编程中不仅在fmap中而且在许多其他情况下,都会出现很多次。 “举重”示例包括:

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