“모든 것이 옳다는 사실이 드러날 것이다. 세계는 그 위에 이뤄져 있으니까.”
- 미하일 불가코프(Mikhail Bulgakov), 『거장과 마르가리타』
이 책은 함수형 접근 방식이 코드 작성 방식에만 국한되지 않음을 보여줄 것이다. 더 넓은 관점에서 함수형 접근 방식이 어떻게 동작하는지 살펴보기 위해, 우리는 완전한 애플리케이션을 밑바닥부터 작성하면서 함수형 접근 방식이 요구 사항 수집 단계부터 최종 인도에 이르는 과정에서 우리를 어떻게 이끄는지 살펴볼 것이다.
왜 이렇게 해야 할까? 그냥 다른 부분은 제외하고 함수형 프로그래밍 자체에 대해서만 가르치면 안 될까? 하지만 그런 접근 방법을 택한 책이 이미 많고, 내가 할 수 있는 것보다 함수형 프로그래밍을 더 잘 가르쳐줄 책도 많다. 이 책의 목표는 함수형 프로그래밍 자체를 설명하는 것이 아니다. 나는 함수형 접근 방법을 사용해 완전한 애플리케이션을 작성하는 과정을 단계별로 보여주고 싶은데, 솔직히 말해 전체 애플리케이션을 작성하지 않고 함수형 접근 방법으로 애플리케이션을 개발하는 법을 설명하는 방법은 모르겠다.
이 장에서는 애플리케이션을 구축하기 시작한다. 먼저 애플리케이션 코딩을 시작하기 적당한 정도로 애플리케이션의 요구 사항을 수집한다. 애플리케이션의 행동을 입력과 출력으로 정의하면 나중에 애플리케이션이 우리 의도를 얼마나 달성했는지 확인하기가 쉬워진다.