Sabela: 반응형 Haskell 노트북
Sabela는 Haskell용 반응형 마크다운 노트북으로, LaTeX, SVG, Markdown, HTML 등 다양한 출력 형식을 지원합니다. 핵심 설계는 GHCi 서브프로세스를 통해 코드를 평가하여, GHC API를 직접 사용하는 기존 방식의 유지보수 어려움과 패키지 관리 문제를 해결하는 데 중점을 두었습니다.
반응형 셀 구조를 통해 셀 간 의존성을 자동으로 추적하고 변경 시 관련 셀을 재계산하여 일관된 상태를 유지하며, 패키지 환경 관리는 cabal을 활용해 세션별로 독립적인 환경 구성이 가능합니다.
이러한 구조는 GHCi의 안정성과 패키지 관리 기능을 그대로 활용하면서도, 클라이언트-서버 분리 모델로 안정성과 디버깅 편의성을 높였으며, 향후 다중 사용자 환경과 다중 언어 지원으로 확장 가능성을 염두에 두고 설계되었습니다.