Tag Archives: haskell

대수적 데이터 타입과 Enum

대수적 데이터 타입은 다른 데이터 타입을 조합 및 연산하여 하나의 새로운 집합을 정의할 때, 해당 집합을 대수적 데이터 타입이라고 한다. 쉽게 얘기해 집합을 정의하는 것이다. 헤스켈에서 대표적인 대수적 데이터 타입은 Bool 타입이다.

Bool 타입은 True타입과 False타입이 모여 Bool이라는 집합을 정의한다고 생각할 수 있다. 대수적 데이터 타입의 몇 가지 예를 더 살펴보자.

Point 집합은… Read More »

커링(currying) 함수가 왜 필요한가?

명령형 언어에서 함수는 보통 0개에서 n개의 인자를 동시에 받아 특정 알고리즘을 수행한다.

함수형 언어에서 함수는 보통 커링함수를 사용하는데 커링 함수는 n개의 인자를 받는 함수가 있을 경우 n개의 인자를 동시에 받는 것이 아니라 1개씩 인자를 받으며 다음 인자를 받는 함수를 반환하는 함수를 말한다. int add( int a, int b ) 라는 함수가 있을 경우, 이를… Read More »