루

  • 홈
  • 태그
  • 방명록

Applicative 2

[Haskell] 모든 Monad는 Applicative다. >>= 만으로

모든 Monad는 Applicative다. >>= 만으로 () :: f (a -> b) -> f a -> f b fs () xs = fs >>= \fs -> xs >>= \xs -> (fs xs) 모든 Applicative는 Functor다. 만으로 fmap :: (a -> b) -> f a -> f b fmap fs xs = (pure fs) xs 아래 답변을 보고 "일반화"의 의미에 대해 생각해보면 좋다. Haskell - is there extended monad type [ m (a -> m b) -> m a -> m b ] Functor has (a -> b) -> m a -> m b Applicative has f (a -> b) -> f a -> f b Monad has m a -> (a -..

PRGRM/Haskell 2021.08.18

[Haskell] Functor, Applicative, Monad의 필요

카테고리 이론은 배제하고 설명합니다. 애초에 Functor, Applicative, Monad가 타입 클래스라는것 부터, 카테고리 이론에서 말하는 Functor, Applicative, Monad와는 거리가 있게 됩니다. (타입클래스는 연산 그 자체가 아닌, 해당 연산이 적용 가능함을 나타냄) 포장된 타입 포장된 타입은 많이 쓰입니다. 가장 가까운 예로는 Maybe가 있습니다. Maybe는 Integral을 포장할 수도, String을 포장할 수도 있습니다. 패턴 매칭으로 포장을 해제해, 포장된 타입이 보관하고 있던 값에 대한 처리를 할 수 있습니다. 보통은 유용성을 위해 처리 이후 다시 포장을 합니다. (닫힌 연산이라고 해석할 수 있습니다.) Functor 위에서 말했듯 포장된 타입이 보관하고 있는 값..

PRGRM/Haskell 2021.08.18
1
더보기
프로필사진

  • 분류 전체보기 (13)
    • 블로그 (1)
    • PRGRM (8)
      • JS (4)
      • Clojure (1)
      • Haskell (2)
      • ML (1)
      • Web (0)
    • SemiP2P (홈서버 구축) (4)

Tag

monad, 유머?, JS, 새블로그, 라즈베리파이, hooks, cnn, WebDAV, Applicative, 효율성, Functor, ML, Docker, haskell, Clojure, 연산자오버로딩, nodejs, 홈서버, react, create-react-app,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바