이 책의 저자는 '함수형 프로그래밍'에 대해 일반적인 정의를 쓰지 않고, 저자의 색깔에 맞춰 정의하였다. 또한, '함수형 프로그래밍'을 학문적 지식이 아닌 기술과 개념으로 볼 것을 권했다.
함수형 프로그래밍에 들어가기 앞서, 함수형 프로그래머는 다음과 같이 코드 구분할 줄 알아야 한다.
코드를 부를 때 조심해야하는가?
⇒ 코드가 호출하는 시점과 횟수에 의존함 (액션)
코드를 부를 때 조심하지 않아도 되는가?
⇒ 코드가 호출하는 시점과 횟수에 의존하지 않음 (계산, 데이터)
함수형 프로그래머는 위 코드 구분에 따라 정의한 액션과 계산, 데이터를 구분할 줄 알아야한다.
실행 시점이나 횟수 또는 둘 다에 의존
⇒ 올바른 순서를 보장함
액션 제거 (액션 → 계산)
⇒ 코드를 더 쉽게 이해할 수 있고, 버그 방지 가능
복잡도 : 데이터 < 계산 < 액션
함수형 프로그래머 선호도 : 액션 < 계산 < 데이터
처음에는 함수형 프로그래밍을 단순히 ‘같은 입력값을 가지고 계산하면 항상 같은 결괏값이 나오는 프로그래밍’이라고만 알고 있었는데, 실행 시점, 횟수에도 의존한다는 사실을 새롭게 알게 되었다.