
M9는 AI가 작성한 코드를 포함해 결과를 신뢰해야 하는 프로그램을 검사하도록 설계된 Wirth 계열 프로그래밍 언어다. 브라우저에서 설치 없이 예제를 실행할 수 있으며, 컴파일러는 암묵적 형 변환처럼 잘못된 코드를 실행 전에 거부한다고 제작자는 설명한다.
예를 들어 F64 값을 I64 변수에 대입하는 코드는 허용되지 않는다. M9 컴파일러는 빌드 때마다 이 예제가 컴파일되지 않는지 검사한다. 브라우저에서 실행하기
M9에서는 각 숫자형의 비트 너비를 이름으로 표시하고, 값이 자동으로 변환되지 않는다. 튜토리얼은 기초부터 시작해 zarr로 읽은 ICOS 이산화탄소 데이터, NetCDF 파일, 회귀 분석과 스레드까지 다룬다. 튜토리얼 시작하기
제작자는 형식, 실패 조건, 효과, 스레드 안전성을 정의 모듈에 명시하고 컴파일러가 검사하며, 검사를 끌 수 없다고 설명한다. M9 자체도 검토를 받는 에이전트가 작성했으며, 프로젝트의 주장 역시 같은 방식으로 확인한다고 밝혔다. 언어 보고서
제작자가 공개한 측정 결과에 따르면 런타임 검사의 비용은 약 3%이며 끌 수 없다. 만델브로트 프로그램은 26KB 실행 파일에서 C만큼 빠르게 실행된다고 한다. 컴파일러는 자기 자신을 컴파일해 바이트 단위로 동일한 출력을 만들고, zarr 판독 결과는 numpy와 마지막 숫자까지 일치한다고 설명한다. 각 언어 기능에는 컴파일할 수 없게 만드는 실제 버그 사례가 연결돼 있다. 벤치마크 · 측정 방법 · 부트스트랩 정보 · 튜토리얼 8장
Linux에서는 Ubuntu, Debian, Fedora, Rocky, Arch용 패키지를 이용하거나 GCC만으로 소스에서 빌드할 수 있다. 빌드 명령은 ./build.sh다. Apple 실리콘용 macOS와 Windows 10·11 지원은 실험 단계다. macOS 설치 명령은 brew tap atverm/m9 brew install m9이며, Windows용으로는 GCC가 포함된 ZIP 파일과 설치 프로그램을 제공한다. 전체 릴리스
컴파일러와 도구는 GNU GPL 버전 3에 따라 배포된다. 런타임과 표준 라이브러리에는 런타임 예외가 적용돼, 이를 사용해 만든 프로그램은 오픈소스든 독점 소프트웨어든 원하는 라이선스로 배포할 수 있다. 컴파일러 자체를 수정한 경우에는 GPL이 계속 적용된다. 예외는 런타임 라이브러리와 표준 라이브러리, 컴파일러가 생성하는 C 코드에 복사되는 해당 라이브러리 코드에 적용되며, 컴파일러 m9c와 그 모듈, runtime/gen/의 부트스트랩 C 코드, 도구에는 적용되지 않는다. 생성된 C 코드는 컴파일러가 만들었다는 이유만으로 m9c를 기반으로 한 저작물이 되지는 않는다. 저장소의 런타임 예외 · GPL 버전 3
추가 자료: 언어 보고서 · 컴파일러와 라이브러리 소스 · 튜토리얼 예제 · VS Code 확장과 언어 서버 · Jupyter 커널 · Claude Code 스킬 · 문제 보고
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요