728x90

08 함수 조합의 원리와 응용

08-1 함수형 프로그래밍이란?

  • 순수 함수와 선언형 프로그래밍의 토대 위에
    함수 조합(function composition)과 모나드 조합(monadic composition)으로 코드를 설계하고 구현하는 기법
  • 함수형 프로그래밍은 다음 세 가지 수학 이론에 기반을 두고 있음
    1. 람다 수학(ramda calculus) : 조합 논리와 카테고리 이론의 토대가 되는 논리 수학
    2. 조합 논리(combinatory logic) : 함수 조합의 이론적 배경
    3. 카테고리 이론(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) 형태의 부분 함수를 만들면 composepipe에 사용할 수 있음
출처 : Do it! 타입스크립트 프로그래밍
 

Do it! 타입스크립트 프로그래밍

‘타입스크립트’를 배우는 김에 ‘함수형 프로그래밍’까지 정주행하자!10만 건의 빅데이터 처리와 API 서버 & 리액트 웹 개발까지!이 책은 ES6 자바스크립트를 경험한 독자가 타입스크립트를

book.naver.com

728x90