오래된 프로그래밍 언어인 알골 60(Algol 60)을 위한 새로운 컴파일러가 루아JIT(LuaJIT) 런타임을 활용하여 MVP(최소 기능 제품) 버전을 출시했습니다. 이 컴파일러는 알골 중간 표현(Algol Intermediate Representation, AIR)이라는 새로운 개념의 증명이며, 개발자 로커스 켈러(Rochus Keller)의 장기적인 목표인 시뮬라(Simula) 컴파일러 개발의 중요한 이정표가 될 것으로 보입니다.
이 컴파일러는 켈러가 이전에 마이크론(Micron) 컴파일러를 위해 개발했던 MIL(Micron Intermediate Language)의 한 버전인 AIR을 기반으로 합니다. 특히 알골/비르트(Algol/Wirth) 언어 계열의 기능에 초점을 맞추고 있으며, 루아JIT 바이트코드와 호환되는 낮은 수준의 구현이 특징입니다. 루아JIT 통합은 켈러가 이전에 오베론(Oberon) 및 루온(Luon) 컴파일러를 위해 구현했던 LjTools를 통해 이루어졌습니다. 현재 리눅스 x86_64 및 윈도우 x86용 사전 컴파일 버전이 제공되어 사용자들이 쉽게 접근하고 실험해볼 수 있으며, 유명한 'Man or boy' 테스트 코드도 포함되어 있습니다.
이번 알골 60 컴파일러 출시는 단순히 과거의 언어를 재현하는 것을 넘어, 현대적인 런타임 환경과 결합하여 새로운 가능성을 탐색한다는 점에서 의미가 있습니다. 이는 컴파일러 설계 및 구현에 대한 깊은 이해를 보여주는 동시에, 특정 도메인에 특화된 언어(DSL)나 임베디드 시스템을 위한 경량 런타임 솔루션 개발에 영감을 줄 수 있습니다. 또한, 코루틴(coroutines) 및 시뮬레이션 기능을 갖춘 시뮬라 컴파일러로의 발전 가능성을 제시하며, 미래 프로그래밍 언어 및 시스템 개발에 대한 기대를 높이고 있습니다.