728x90
08 함수 조합의 원리와 응용
08-1 함수형 프로그래밍이란?
- 순수 함수와 선언형 프로그래밍의 토대 위에
함수 조합(function composition)과 모나드 조합(monadic composition)으로 코드를 설계하고 구현하는 기법 - 함수형 프로그래밍은 다음 세 가지 수학 이론에 기반을 두고 있음
- 람다 수학(ramda calculus) : 조합 논리와 카테고리 이론의 토대가 되는 논리 수학
- 조합 논리(combinatory logic) : 함수 조합의 이론적 배경
- 카테고리 이론(category theory) : 모나드 조합과 고차 타입의 이론적 배경
08-2 제네릭 함수
- 타입스크립트의 함수는 매개변수와 반환 값에 타입이 존재하므로, 함수 조합을 구현할 때는 제네릭 함수 구문을 사용
08-3 고차 함수와 커리
- 고차 함수(high-order function) : 또 다른 함수를 반환하는 함수
- 1차 함수(first-order function) : 함수가 아닌 단순히 값을 반환하는 함수
- 2차 고차 함수(second-order function) : 1차 함수를 반환하는 함수
- 3차 고차 함수(third-order function) : 2차 함수를 반환하는 함수
- 부분 적용 함수(partially applied function) 또는 부분 함수(partial function)
- 자신의 차수보다 함수 호출 연산자를 덜 사용한 경우
- 클로저(closure) : 지속되는 유효 범위(persistence scope)를 의미
08-4 함수 조합
- 함수 조합(function composition)
- 작은 기능을 구현한 함수를 여러 번 조합해 더 의미 있는 함수를 만들어 내는 프로그램 설계 기법
- compose 혹은 pipe라는 이름의 함수를 제공하거나 만들 수 있음
- compose 함수
- pipe 함수
- compose와 매개변수들을 해석하는 순서가 반대
- 포인트가 없는 함수(pointless function)
- map(f) 형태의 부분 함수를 만들면 compose나 pipe에 사용할 수 있음
출처 : Do it! 타입스크립트 프로그래밍
728x90
'Do it! > 타입스크립트 TS' 카테고리의 다른 글
Do it! 타입스크립트 프로그래밍 - 람다 라이브러리 (0) | 2021.01.28 |
---|---|
Do it! 타입스크립트 프로그래밍 - Promise와 async/await 구문 (0) | 2021.01.26 |
Do it! 타입스크립트 프로그래밍 - 반복기와 생성기 (0) | 2021.01.26 |