Functional Programming - Recursive Functions
Recursive Function Recursive라는 표현은 아마 모든 분들이 익숙하실 겁니다. (한국어로 재귀라고 합니다) 간단히 설명드려 함수를 다루는 기법하나로 함수 내부에서 그 함수를 다시 호출하는 것을 말하는데요. Functional Programming에서 가장 중요하게 생각하는 것이 여기서 tail call을 없애는 겁니다. Stack이 쌓이는 경우 때문인데, 다음 설명을 계속 보겠습니다. factorial :: Int -> Int factorial n = product [1..n] 위의 예제는 간단히 factorial을 product를 이용하여 구현한 것 입니다. 이 함수를 이용할 경우 다음의 과정을 거치게 될 것입니다. factorial 4 = product [1..4] = product [1,2,3,4] = 1*2*3*4 = 24 다음은 이 함수를…