# 하스켈 (Haskell)

하스켈(Haskell)은 정적 타입을 쓰는 범용 순수 함수형 프로그래밍 언어로, 타입 추론과 지연 평가를 지원합니다. 일부 암호화폐 개발에 사용되며, 가장 잘 알려진 예시는 Cardano (ADA)입니다.

## 실생활 예시:

- **타입 추론:** 항목마다 종류를 적지 않아도 주식인지, 채권인지, 암호화폐인지 알아서 구분해 주는 장부를 떠올려 보세요. Haskell은 이처럼 값의 타입을 자동으로 추론합니다.
- **지연 평가:** 필요할 때만 포트폴리오를 확인하는 것을 생각해 보세요. Haskell은 결과가 필요할 때만 표현식을 평가하며, 이는 거래를 하기 전에 가격을 확인하는 것과 유사합니다.

## Haskell의 주요 특징

- **범용:** 웹 애플리케이션, 데이터 분석 도구, 블록체인 소프트웨어 등 여러 분야에 쓰일 수 있습니다.
- **정적 타입:** 런타임이 아닌 컴파일 시간에 오류를 잡는 이점을 누려 코드를 더 신뢰할 수 있고 견고하게 만듭니다.
- **순수 함수형:** 함수가 일급 객체이고 부작용이 최소화되어 더 깨끗하고 예측 가능한 코드를 위한 패러다임을 수용합니다.
- **타입 추론:** 컴파일러가 대부분의 타입을 스스로 추론하므로 타입 주석을 일일이 달지 않아도 되어 시간과 노력이 절약됩니다.
- **지연 평가:** 필요할 때만 필요한 것을 계산합니다. 이는 효율적인 메모리 사용으로 이어지며 특정 시나리오에서 성능을 향상시킬 수 있습니다.

## 암호화폐 분야의 사례: Cardano (ADA)

Haskell은 정확성과 보안성을 강조하는 특성 때문에 일부 암호화폐 개발에 쓰이며, Cardano (ADA)는 Haskell로 구축된 대표적인 예입니다. Cardano는 분산 애플리케이션 및 스마트 계약을 개발하기 위한 더 안전하고 확장 가능한 방법을 제공하는 것을 목표로 합니다.

- ***설계 방식:*** Cardano 측은 Haskell 선택을 형식적 검증과 고신뢰성 설계를 위한 것으로 설명하며, Haskell의 수학적 기초를 활용해 플랫폼의 보안성과 신뢰성을 높이는 것을 목표로 한다고 밝힙니다. 다만 사용하는 언어만으로 플랫폼의 안전성이 보장되지는 않습니다.
- ***합의 방식:*** Cardano는 지분 증명(Ouroboros) 합의를 사용하며, 작업 증명보다 전력 소비가 적다고 설명합니다. 분산화와 보안 수준은 지분 분포와 검증자 구성에 따라 달라집니다.

## 장점과 한계

Haskell은 학계에서 많이 연구되는 언어입니다. 실제 사용에서의 장점과 한계는 다음과 같습니다.

- **간결하고 표현력이 풍부함:** Haskell의 함수형 패러다임은 간결하고 표현력이 풍부한 코드를 작성할 수 있도록 하여 개발 시간과 잠재적 오류를 줄입니다.
- **강력한 타입 시스템:** Haskell의 정적 타입 및 타입 추론은 코드의 정확성을 높이고 런타임 오류를 줄여 고신뢰성 시스템에 적합합니다.
- **지연 평가:** Haskell의 지연 평가 전략은 코드 실행을 최적화하여 성능을 향상시키고 무한 데이터 구조를 효율적으로 처리할 수 있도록 합니다.
- **코드 유지 관리성:** Haskell은 불변성과 순수 함수에 중점을 두어, 코드를 이해하고 수정하기 쉽게 만드는 데 도움이 된다고 평가됩니다.
- **가파른 학습 곡선:** Haskell의 함수형 패러다임과 고급 개념은 명령형 언어에 익숙한 프로그래머에게 어려울 수 있습니다.
- **더 작은 커뮤니티 및 생태계:** 주류 언어에 비해 Haskell은 더 작은 커뮤니티와 생태계를 가지고 있어 제한된 라이브러리 지원 및 리소스로 이어질 수 있습니다.
- **제한된 사용 사례:** Haskell은 범용 언어이지만, 컴파일러 설계, 데이터 분석, 암호화폐 개발과 같은 특정 도메인에서 가장 잘 활용됩니다.

---
출처: https://achivx.kr/glossary/haskell-%ED%95%98%EC%8A%A4%EC%BC%88/ · ACHIVX 용어 사전 · 수정일 2026-10-20
