它们只是功能的抽象

时间:2019-02-28 14:15:02

标签: haskell

我正在阅读What are arrows, and how can I use them?上的帖子,在第三个答案中,约翰·威格利提到了以下内容:

  

它们只是功能的抽象。

这是什么意思?

1 个答案:

答案 0 :(得分:8)

这不是一个正式的定义,但暗示了一个事实,即“箭头”概念是对“功能”概念的概括。换句话说,功能是箭头的特例,但是箭头也可以是其他东西。

“箭头”是与常规功能共享某些功能的东西,例如它们具有域类型和共域类型,可以组成它们,从任何类型到其自身都有一个“身份箭头”,依此类推。

但是,并非所有箭头都共享功能的所有功能。例如,始终可以将函数应用于适当的参数,而箭头可能并非如此。

因此,用技术术语来说,可以说“箭头”概念是功能概念的抽象或概括。

(让我补充一点,我有点不同意您引用中使用的“简单”。这些抽象概念在人们学习了之后可能是微不足道的,但是学习过程并不那么简单。)