처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.27 22

Common Lisp 위에 정적 타입을? Coalton과 새 IDE "Mine" 이야기

Hacker News 원문 보기

Lisp가 다시 움직이고 있다

혹시 Common Lisp라는 언어 들어보셨나요? 1984년에 표준화된, 현존하는 가장 오래된 고수준 프로그래밍 언어 중 하나예요. 괄호로 가득한 코드 모양 때문에 농담거리가 되곤 하지만, 매크로 시스템과 동적 개발 환경(REPL)에서는 아직도 따라올 언어가 별로 없을 정도로 강력해요.

그런데 Common Lisp의 약점도 분명해요. 타입 시스템이 동적이라서 런타임에야 오류가 드러난다는 점, 그리고 "옛날 언어"라서 모던한 개발 도구가 부족하다는 점이에요. 이번에 공개된 "Mine"이라는 IDE는 이 두 가지 약점을 동시에 겨냥하고 있어요. 정확히는 Common Lisp 위에 얹히는 "Coalton"이라는 정적 타입 언어를 위한 IDE예요.

Coalton이 뭐냐면

Coalton은 양자컴퓨팅 회사 Rigetti에서 시작된 오픈소스 프로젝트예요. 이게 뭐냐면, Common Lisp 안에서 동작하는 "내장 정적 타입 언어"예요. Haskell이나 ML처럼 강력한 타입 시스템(타입 추론, 타입 클래스, 대수적 데이터 타입 등)을 제공하면서, 동시에 Common Lisp 코드와 자유롭게 섞어 쓸 수 있어요.

비유하자면, 자바스크립트 안에 TypeScript가 들어 있는 것과 비슷한 관계예요. 다만 Coalton은 컴파일러 매크로로 구현돼 있어서 별도 빌드 단계 없이 Lisp의 REPL 안에서 즉시 정의하고 즉시 검증할 수 있어요. 함수 하나 정의하자마자 타입 추론 결과가 나오고, 잘못된 타입을 쓰면 컴파일 시점에 잡아주는 거죠.

실제 코드를 보면 이런 느낌이에요. (coalton-toplevel (define (square x) (* x x))) 같이 적으면, Coalton이 자동으로 "이 함수는 Num a => a -> a 타입이다"라고 추론해줘요. Haskell 익숙하신 분이라면 거의 그대로 옮겨 적을 수 있어요.

Mine은 이걸 어떻게 더 편하게 해주는가

Mine은 Coalton 개발 경험을 한 단계 끌어올리려고 만든 IDE예요. 기존 Common Lisp 개발은 Emacs + SLIME 조합이 거의 표준이었는데, 이게 입문자에게는 진입 장벽이 너무 높았거든요. Emacs 키바인딩부터 익혀야 하고, 설정도 까다롭고요.

Mine이 노리는 지점은 "Lisp의 인터랙티브한 개발 경험을 유지하면서, 모던 IDE 사용자도 바로 적응할 수 있게 한다"는 거예요. 핵심 기능을 보면, 인라인 타입 표시(함수 위에 마우스 올리면 추론된 타입이 뜨는 것), 즉시 평가(코드 일부를 선택해서 바로 REPL로 보내는 것), 타입 오류의 시각적 강조, 그리고 매크로 확장 미리보기 같은 게 들어 있어요.

특히 매크로 확장 미리보기는 Lisp 특유의 기능이에요. Lisp는 매크로가 코드를 코드로 변환하는데, 이게 어떻게 풀리는지 눈으로 볼 수 있어야 디버깅이 가능하거든요. Mine은 이 확장 과정을 단계별로 보여줘서 "내 매크로가 실제로 어떤 코드로 펼쳐지는지"를 추적할 수 있게 해줘요.

다른 함수형 언어 IDE들과 비교하면

Haskell 진영의 HLS(Haskell Language Server), OCaml의 Merlin, F#의 Ionide 같은 도구들이 비슷한 자리를 차지하고 있어요. 이들의 공통점은 타입 추론 결과를 에디터에 실시간으로 띄워주는 것이 핵심 기능이라는 점이에요.

Mine의 차별점은 "라이브 환경"이에요. Haskell은 보통 GHCi로 REPL을 쓰지만, 코드 변경 후 다시 로드하는 사이클이 필요해요. Lisp는 함수 하나하나를 따로 재정의하면서 프로그램을 돌리는 도중에도 동작을 바꿀 수 있어요. Mine은 이 "이미지 기반 개발(image-based development)"이라는 Lisp의 특성을 그대로 살리면서 정적 타입의 안전성을 더한 거예요.

또 하나 흥미로운 비교 대상은 Clojure예요. Clojure도 Lisp 계열이고 JVM 위에서 인기가 있지만, 기본은 동적 타입이고 Spec이나 Malli 같은 별도 라이브러리로 타입을 보강해요. Coalton은 이걸 "언어 차원의 정적 타입"으로 끌어올렸다는 점에서 더 야심찬 시도라고 볼 수 있어요.

한국 개발자에게는 어떤 의미일까

솔직히 말하면, 한국 실무 현장에서 Common Lisp나 Coalton을 직접 쓸 일은 많지 않아요. 그래도 알아둘 가치가 있는 이유가 몇 가지 있어요.

첫째, 언어 설계 공부에 좋은 케이스예요. "동적 언어 위에 정적 타입을 어떻게 얹는가"는 TypeScript, Sorbet(Ruby), Mypy(Python) 같은 사례에서 계속 반복되는 주제거든요. Coalton은 이걸 매크로로 풀어낸 독특한 접근이에요.

둘째, REPL 중심 개발의 가능성이에요. 한국 개발자들은 보통 "빌드 → 실행 → 로그 확인" 사이클에 익숙한데, Lisp 계열의 "코드 한 줄 바꾸고 즉시 반영"하는 워크플로를 한 번 경험해보면 개발 속도에 대한 감각이 달라져요. 클로저나 Babashka 같은 더 접근 가능한 Lisp부터 시작해도 좋고요.

셋째, 양자컴퓨팅이나 기호 연산(symbolic computation), 컴파일러 작성 같은 분야에서는 Lisp의 매크로 시스템이 여전히 압도적이에요. 이런 도메인 진입을 노리는 분이라면 Coalton/Mine 같은 도구의 등장은 반가운 신호예요.

마무리

오래된 언어가 죽지 않고 새 옷을 갈아입는 모습은 늘 흥미로워요. Coalton은 Common Lisp의 매크로 위에 정적 타입을 얹었고, Mine은 그 경험을 모던 에디터로 끌고 나왔어요.

여러분은 "오래된 언어를 살리는 도구"가 의미가 있다고 보시나요, 아니면 그 노력으로 새 언어를 만드는 게 더 효율적이라고 보시나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.