하스켈
하스켈은 함수형 프로그래밍 언어이다. 하스켈은 아래와 같은 특징이 있다.
- 하스켈은 순수하다. 같은 인자를 넣은 함수는 항상 같은 결과가 나온다.
- 하스켈은 느긋하다. 필요할 때만 값을 평가한다.
- 하스켈은 현대적인 기능을 갖춘 최첨단 타입 시스템을 제공한다. 타입클래스와 일반화된 대수적 데이터 타입 같은 기능이 있다.
순수 함수를 사용하면 코드 추론을 더 쉽게 할 수 있다. 고급 타입 시스템은 사소하거나 심각한 실수 잡는 것을 도와준다.
이 책의 목표는 독자에게 하스켈 프로그래밍 언어를 소개하는 것이다. 이 책의 범위는 아주 기초부터 고급 기능까지이고 일반적인 컴퓨터 프로그래밍도 다룬다. 독자에게 이미 익숙한 다른 프로그래밍 언어는 하스켈과 많이 다를 가능성이 크다. 다른 프로그래밍 언어에서 생긴 습관 때문에 독자가 하스켈 동작 과정을 이해하는 데 어려움을 겪을 수 있다. 하스켈은 단순하지만 어렵다. 함수형 프로그래머의 특별한 사고방식으로 세상 보는 법을 배우는 것은 새로운 세계로의 모험이다. 이 과정에서 얻는 지식은 특정 언어의 경계를 훨씬 넘어서는 가치를 제공한다.
개요
+/-이 책은 다음과 같이 크게 세 개의 절로 구성되어 있다.
- 초급 과정
- 고급 과정
- 실용 하스켈
실용 사례를 다루는 마지막 절은 초급 과정 절만 알아도 이해할 수 있다. 어떤 점이 하스켈을 독특하고 다른 프로그래밍 언어와 다르게 만들까? 숙련된 프로그래머라면 맛보기 절을 통해 어떤 점이 하스켈을 그렇게 만드는지 빠르게 평가해보기 바란다.
초급 과정
+/-이 절에서는 하스켈 기초와 자주 쓰이는 라이브러리를 소개한다. 이 과정을 마치면 간단한 하스켈 프로그램을 작성할 수 있다. 대부분의 장에 연습 문제와 해답이 실려 있다.