목록IT/함수적인, 너무나 함수적인 (7)
And Brain said,
Index 0. 함수형 프로그래밍 1. 람다 대수 (Lambda Calculus)와 합성함수 2. 범주론 (Category Theory) 3. 모노이드 (Monoide) 4. 펑터 (Functor)와 엔도펑터(Endo Functor) 5. 모나드 (Monad) 6 함수형 프로그래밍의 고급 기법 부분 적용, 커링 및 메모이제이션 지연 평가 및 패턴 매칭 리커시브 함수와 꼬리 재귀 최적화 이 챕터에서는 함수형 프로그래밍의 고급 기법들에 대해 간략하게 소개만 하고 넘어갈 것입니다. 이 시리즈의 핵심은 이전 챕터의 모나드임을 강조드리는 바이니 참고 바랍니다. 그렇다고 각각의 내용들이 함수형 프로그래밍에 있어서 중요하지 않은 내용들이 아닙니다. 오늘 소개한 것들은 꼭 더 공부해보시길 바랍니다. 부분 적용, 커링 ..
Index 0. 함수형 프로그래밍 1. 람다 대수 (Lambda Calculus)와 합성함수 2. 범주론 (Category Theory) 3. 모노이드 (Monoide) 4. 펑터 (Functor)와 엔도펑터(Endo Functor) 5. 모나드 (Monad) 6 함수형 프로그래밍의 고급 기법 부분 적용, 커링 및 메모이제이션 지연 평가 및 패턴 매칭 리커시브 함수와 꼬리 재귀 최적화 모나드는 엔도펑터 범주에서의 모노이드다. 모나드와 그를 이해하기 위해 설명하는 단어들이 주는 혼란 덕분에 해외 프로그래머 커뮤니티에서는 모나드가 하나의 밈화가 된 적이 있었습니다. 모나드가 뭔지 알려고 했더니, 모노이드며, 엔도펑터며 여러가지로 점점 깊은 수렁에 빠지게 되었던 것이지요. 하지만, 우리는 상황이 다릅니다. 우..
Index 0. 함수형 프로그래밍 1. 람다 대수 (Lambda Calculus)와 합성함수 2. 범주론 (Category Theory) 3. 모노이드 (Monoide) 4. 펑터 (Functor)와 엔도펑터(Endo Functor) 5. 모나드 (Monad) 6 함수형 프로그래밍의 고급 기법 부분 적용, 커링 및 메모이제이션 지연 평가 및 패턴 매칭 리커시브 함수와 꼬리 재귀 최적화 그래도 여전히 두려워하지 마세요. 여기까지 오신 여러분은 충분히 펑터를 견뎌낼 수 있습니다. 펑터 (Functor) 펑터? 함수형 프로그래머가 펑터는 왜 알아야 할까요? 먼저, 펑터를 사용하면 내부의 값을 변경하지 않고 외부에서 연산을 적용할 수 있습니다. 이렇게 함으로써 함수형 프로그래밍의 주요 원칙 중 하나인 불변성(i..
Index 0. 함수형 프로그래밍 1. 람다 대수 (Lambda Calculus)와 합성함수 2. 범주론 (Category Theory) 3. 모노이드 (Monoide) 4. 펑터 (Functor)와 엔도펑터(Endo Functor) 5. 모나드 (Monad) 6 함수형 프로그래밍의 고급 기법 부분 적용, 커링 및 메모이제이션 지연 평가 및 패턴 매칭 리커시브 함수와 꼬리 재귀 최적화 두려워 마세요. 모노이드는 당신을 해치지 않습니다. 모노이드는 우리에게 범주론에서 배운 개념들을 구체적으로 적용할 수 있는 좋은 예시가 될 것입니다. 모노이드 (Monoide) "Monoid"라는 단어는 그리스어에서 유래되었습니다. 그리스어에서 "mono"는 '하나', '단일'을 의미하고, "-oid" 접미사는 '형태' 또..
Index 0. 함수형 프로그래밍 1. 람다 대수 (Lambda Calculus)와 합성함수 2. 범주론 (Category Theory) 3. 모노이드 (Monoide) 4. 펑터 (Functor)와 엔도펑터(Endo Functor) 5. 모나드 (Monad) 6 함수형 프로그래밍의 고급 기법 부분 적용, 커링 및 메모이제이션 지연 평가 및 패턴 매칭 리커시브 함수와 꼬리 재귀 최적화 범주 (Category) 범주론 (Category Theory) 대수학의 한 분야로, 추상적인 수학구조를 다룹니다. 범주론 자체가 고도로 추상적인 분야이기도 하여 함수형 프로그래머인 우리는 수학자 수준의 이해가 필요하지 않습니다. 하지만, 범주론은 함수형 프로그래밍에서 사용되는 개념들의 수학적 배경을 제공하기에 짚고 넘어갈..