본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 20. 09:43

glojure - Go 위에 호스팅된 Clojure 인터프리터

요약

Go 언어 위에서 동작하는 호스팅 방식의 Clojure 인터프리터인 glojure를 소개합니다. Go와 Clojure 간의 양방향 상호운용성을 지원하며, Go 애플리케이션 내 임베딩 또는 독립형 CLI 도구로 사용할 수 있습니다.

핵심 포인트

  • Go와 Clojure 간의 자유로운 양방향 함수 호출 지원
  • Go 라이브러리에 대한 손쉬운 접근 및 확장 가능한 상호운용성 제공
  • Go 애플리케이션 임베딩 및 스크립트 가능한 설정 기능 지원
  • 인터랙티브 REPL 및 다양한 편집 모드 제공
  • 현재 초기 개발 단계로 성능 제한 및 하위 호환성 미보장
  • 다른 Go 기반 Clojure 구현과 달리
    "호스티드(hosted)" 언어로 설계된 Clojure 인터프리터
  • 확장 가능한 상호운용(interop)을 지원해 모든
    Go 값을 Glojure 값으로, 반대로도 사용 가능
  • Clojure가 Java 프레임워크에 접근하듯
    Go 라이브러리에 손쉬운 접근 제공
    standalone CLI 도구(glj)Go 애플리케이션 내 임베딩, 두 가지 방식 지원
  • 임베딩 시 스크립트 가능한 설정 추가,
    Clojure 플러그인 확장, Go 성능과 Clojure 표현력 혼합 가능

Clojure ↔ Go 양방향 호출 지원으로, Go 함수를 Clojure에서, Clojure 함수를 Go에서 호출 가능

  • 다수의
    표준 라이브러리 interop 기본 내장
  • 네임스페이스 모호성 회피 위해 Go 패키지명의
    /

:

로 치환 (예: net/http

net:http

)

  • 추가 패키지는
    package map 생성 후 직접 컴파일로 노출

인터랙티브 REPL 기능으로 Vi/emacs 편집 모드, 멀티라인 편집, 탭 자동완성, 영속 히스토리, job control, 인터럽트 제공

  • 숫자 타입은 Clojure와 매핑 차이 존재 (예:
    long

int64

, char

lang.Char

, BigInt

*lang.BigInt

)

  • 아직
    초기 개발 단계로 버그 및 미구현 기능에 성능도 제한적, v1 이전까지 하위 호환성 미보장
  • EPL-1.0 라이선스

댓글과 토론

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0