簡體   English   中英

Scala中的適用成分示例

[英]Example of Applicative composition in Scala

這是我的老問題的跟進:

我知道單子不是可組合的,即如果M1[_]M2[_]是單子,則M2[M1[_]]不一定是單子。 例如, List[Int]Option[Int]是monad,但是Option[List[Int]]並不是自動的monad,因此我需要monad transformer才能將其用作monad(如此

我知道應用函子是可組合的。 我想這意味着如果A1[_]A2[_]是可應用的,則A2[A1[_]] 始終是可應用的。 這是對的嗎 ?

A1ListA2Option時,您能否提供這種組合的示例? 您能舉一個由其他應用組成的示例嗎?

我不久前在scalaz源中添加了一些相關的示例。 我添加了使用組合的Apply實例的示例(Apply是Applicative,沒有point方法):

https://github.com/scalaz/scalaz/blob/series/7.2.x/example/src/main/scala/scalaz/example/ApplyUsage.scala#L132-L147

但是,對於任何M1[_]我們掌握Applicative[M1]M2[_]我們掌握Applicative[M2] M1[M2[_]]是應用性的,你可以得到應用型實例Applicative[M1] compose Applicative[M2]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM