함수형 프로그래밍을 도메인 모델링이나 객체들이 변경에 반응하는 데 도움을 주기 위해서만 사용한다면 함수형 프로그램의 잠재력에 훨씬 못 미치는 결과를 얻게 된다. 함수형 프로그래밍은 우리에게 훨씬 더 많은 것을 줄 수 있다. 이제 함수형 프로그래밍 방식으로 어떻게 작업하는지 구체적으로 살펴보자.
함수로서의 웹 서버
문제를 ‘함수형 시각’으로 바라보면, 애플리케이션은 입력을 출력으로 변환하는 ‘엔진’으로 작동한다. 우리는 구체적인 입력과 출력이 무엇인지만 고려하면 된다. 이러한 방식으로 추론하면 모든 웹 서비스를 한 가지 함수로 기술할 수 있다. 다음 그림처럼 HttpHandler는 요청 Request를 응답 Response로 바꾸는 함수다.
우리에게 어떤 것들이 있는지(입력)와 어떤 것을 원하는지(출력)를 살펴봄으로써 우리에게 필요한 함수를 알아내는 방식은 함수형 프로그램을 디자인할 때 근본적인 규칙이다.
