IT

Haskell의 Comonad typeclass는 무엇입니까?

lottoking 2020. 8. 15. 09:29
반응형

Haskell의 Comonad typeclass는 무엇입니까?


Haskell의 Comonad typeclass는 무엇입니까? 에서 Comonad에서와 같이 comonad 패키지 Control.Comonad (A Comonad의 typeclass는 또한 제공하는 다른 패키지의 설명은 환영합니다). 나는 Comonad에 대해 막연하게 들었지만, 내가 신뢰한다고 extract :: w a -> a생각 return :: a -> m a합니다.

"실제"코드에서 Comonad의 "실제"사용에 대한 보너스 포인트.


다음 링크가 도움이 될 수 있습니다.

  1. 세포 오토마타를 평가하는 것은 혼수 상태 입니다. 특히 "많은 작지만 계산에서 큰 데이터 구조가 결합 된 것을 볼 때마다가 코 모나드를 다룰 가능성이 먹을 것입니다".
  2. 시퀀스, 스트림 및 세그먼트
  3. 일상 생활의 코 모나드

이 내 질문에 완벽하게 대답하지 않습니다.

"co"(느슨하게)는 "화살표 뒤집기"를 의미합니다. 여기에 대한 시각이 있습니다.

모나드 연산을 고려하십시오.

return :: a ~> m a
flip (>>=) :: (a ~> m b) -> (m a ~> m b)

구불 구불 한 화살표를 나타내면 코모 나딕 연산이 나타납니다.

extract :: a <~ w a
extend :: (a <~ w b) -> (w a <~ w b)

(일반 화살표로 작성)

extract :: w a -> a
extend :: (w a -> b) -> w a -> w b

공지 사항이 형식, 방법 return너무의 인수 구성에 맞게 일이 화살표이고 flip (>>=), 동일한은 사실이다 extract하고 extend. 모나드는 / comonad 법은 둘 때 말 return또는 extract해당 다수에, 결과는 신원 화살표입니다. 법칙은 "화살표를 뒤집은 상태에서"동일합니다. 그것은 매우 손쉬운 대답이지만.

참고 URL : https://stackoverflow.com/questions/8428554/what-is-the-comonad-typeclass-in-haskell

반응형