2017-03-18 14 views
1

identity과 같은 모노 도형이며 empty이고 구성은 combine입니다. 불행히도 cats 라이브러리에서 찾지 못했습니다. 라이브러리가 이러한 함수에 대한 모노 노드 인스턴스를 제공합니까?고양이의 A => A에 대한 Monoid 인스턴스

A => M[A]은 무엇입니까? M은 모나드입니까?

답변

2

고양이는 instances/function.scalaA => A의 Monoid 인스턴스를 갖습니다.

def compose(f1 = A => M[A], f2 = A => M[A]): A => M[A] = 
    a => f1(a).flatMap { e => f2(e) } 

이 apeart하지 않습니다이 라이브러리에서 구현되는 : 모나드 M 솔기에 대한

A => M[A]

empty로 다음 combine 연산을 a => M.pure(a)와 모노 이드를 형성 형성한다.
독자에게 발언권으로 남겨진 Monoid 법의 증명.

+0

고마워요. 'X => A [X]'입니까, 여기서 A는 Applicative, monoid입니까? – Michael

+0

모나드는 내과 의사의 범주에서 단조로 난 부분입니다. 무엇이 문제입니까? –

+0

@Michael 'flatMap'없이 '결합'연산을 쓸 수 있습니까? – OlivierBlanvillain