f <$> g <*> h <*> i $ x
= pure f <*> g <*> h <*> i $ x
= pure f x (g x) (h x) (i x)
= f (g x) (h x) (i x)
(,,) <$> succ <*> pred <*> toUpper $ 'h'
= (succ 'h', pred 'h', toUpper 'h')
('i','g','H')
하나의 입력값을 여러 함수에 각각 입력한 다음 그 출력들을 또다른 하나의 함수에 전부 입력해 계산하는 패턴(실제로는 왼쪽부터 커링이 일어나지만)이 책에 자주 나오던데
이런 형태 말고는 또 어떤 식으로 쓰남??
여러개의 상태객체를 하나의 함수에 넣을때요
함수에 대한 어플리커티브도 있지만 다른 구조에 대해서도 쓸수있음
결국 여러개의 뭔가를 하나의 뭔가에 몰아넣을 때 많이 쓰이는가 보군요 호옹이
사실 상태객체에 대해서 몰라서 좀 찾아보겠습니다 ㅋㅋ
그 너무 거창하게 생각하실거 없음
1~9 리스트 2개 조합해서 구구단 만드는거 정도
어플리커티브는 상태(리스트의 길이)를 알면 함수가 뭐던지간에(구구단 한줄 생성) 결과의 상태(81개의 구구단 행)이 나오는걸 예측가능.. Maybe같은건 Nothing이 하나라도 있을때만 조합결과가 Nothing이런식으로