하스켈로 배우는 함수형 프로그래밍
1.
자바스크립트 프레임워크를 훝어보다가 알게된 모나드(monad) 때문에 하스켈에 관심을 가졌고, 그래서 이 책을 읽었다. 하스켈이라는 언어의 문법을 배우기에 적합한 언어인 듯 하다.
2.
그렇지만 함수형 언어인 하스켈 자체도 쉽지 않지만, 모나드는 더 쉽지 않아서 참을성과 노력이 필요하다.
함수형 프로그래밍에서 함수는 “주어진 입력 값만으로 단지 하나의 출력되는 값을 결정하는 규칙”이라는 수학적 의미의 함수다.
[…] 예를 들어, 대입은 부작용이다. 변화하는 변수의 내용의 경우, 그 시점에서 어떠한 값을 갖고 있느냐는 하나의 “상태”로 표현될 수 있다. 그리고 이것은 다음 참조 시점에 이전과 다른 “상태”의 결과를 얻을 수 있을지도 모른다. […] 부작용을 지닌 절차는 앞서 언급한 “함수”가 아니다.
다음과 같은 함수를 특히 고차함수라고 한다. 1) 결과가 함수가 되는 함수 2) 인수로서 함수를 요구하는 함수
패턴 매치에 있어서의 패턴이란 “어떤 생성자로 만들어졌는가”를 말한다.
Written on September 25, 2017