[clojure] 커링을 활용한 함수형 프로그래밍 스타일

함수형 프로그래밍은 함수 조합불변성을 중요시하는 패러다임이다. 이러한 개념은 커링을 활용하여 구현할 수 있다.

커링이란?

커링은 여러 개의 인수를 갖는 함수를 하나의 인수를 갖는 함수들의 연쇄로 바꾸는 작업이다. 예를 들어, add(3, 4)curriedAdd(3)(4)로 변환된다.

(defn add [x y]
  (+ x y))

(def curriedAdd (partial add 3))

(println (curriedAdd 4)) ; 7 출력

커링의 장점

1. 코드 재사용성

커링을 사용하면 기존 함수를 활용하여 다양한 기능을 하는 새로운 함수를 만들 수 있다. 이는 코드의 재사용성을 높이고, 중복을 줄여준다.

2. 함수 조합

커링을 활용하면 여러 함수를 조합하여 새로운 함수를 만들 수 있다. 이는 함수형 프로그래밍에서 자주 활용되며, 간결하고 유연한 코드를 작성할 수 있게 도와준다.

결론

커링은 함수형 프로그래밍을 구현하고 코드를 간결하게 작성하는데 매우 유용한 기법이다. 재사용성포괄성을 갖는 함수형 코드를 작성하기 위해 커링을 적극적으로 활용해보자.

참고 자료: 커링(Currying)과 부분 적용(partial application)