함수형 프로그래밍 ( functional-programming )
- 코드를 작성할 때 함수를 사용하는 프로그래밍 방식을 말함
- 대표적인 함수형 프로그래밍 언어 : lisp, haskell
[reference]
http://en.wikipedia.org/wiki/Functional_programming
함수형 스타일 ( functional-style ) 로 작성할 경우 지켜야 할 것
* 함수는 같은 인자가 주어지는 한 항상 같은 결과를 반환한다. ( referential transparency )
* 함수는 상수로 지정한 것이 아니라면 함수 밖에서 정의된 변수를 참조하지 않는다.
* 함수는 어떤 변수도 수정하지 않는다.
* 함수의 목적은 오직 결과를 반환하는 것 뿐이다.
* 함수는 외부에 노출되는 어떠한 일도 수행하지 않는다.
* 함수는 키보드나 하드디스크 같은 외부 자원에서 정보를 읽어오지 않는다.
가장 중요한 것은 referential transparency 와 immutability 이다.