MicroHs에서의 경량 DataFrame: Haskell 2010 모험
2025-09-11
2015년 Frege(JVM 기반 Haskell 방언)를 사용한 Android 프로젝트를 시작으로 저자의 함수형 프로그래밍 여정은 자신의 DataFrame 라이브러리를 GHC에서 분리하여 MicroHs와 호환되도록 만드는 탐구로 이어졌습니다. 이 글에서는 GADTs, 타입 패밀리, 리플렉션을 사용하지 않고 Haskell 2010에서 DataFrame의 핵심 기능(생성, 기본 식, `filterWhere`, `derive`, Markdown 렌더링)을 구현하는 방법을 자세히 설명합니다. 실험 결과, 코드가 장황하지만 핵심 기능은 충분히 작동하며, MicroHs(작은 CLI 또는 임베디드 환경용)와 GHC(속도 및 에코시스템 접근용) 중에서 선택할 수 있는 유연성을 제공합니다. MicroHs 바이너리 크기는 약 100배 작지만 속도는 약 5~10배 느립니다. 많은 데이터 정리 작업에서 이러한 트레이드오프는 가치가 있으며, 무거운 작업에는 GHC 백엔드를 계속 사용할 수 있습니다.
더 보기
개발