네이티브 컴파일러 · 기반

HEXA-LANG

완전한 hexa-native 컴파일러 — atlas 에 묶인 정리, 루프에 LLVM 없음
170×
codegen 성능 · S1 완료
~94s
24k 줄 codegen 완주 · S2 통과
0
LLVM 없음, 정책으로
HEXA-LANG
↓ 스크롤

인용하는 컴파일러

hexa-lang 은 self-hosted 네이티브 컴파일러입니다. 수식을 담은 모든 줄은 atlas 정리를 인용하고, 모든 빌드는 8개의 strict-lint 단계를 통과하며, 검증되지 않은 것은 어떤 것도 툴체인을 떠나지 못합니다. dancinlab 스택의 맨 밑바닥입니다 — wilson, echoes, anima 그리고 hexa-* 패밀리가 모두 이것을 소비하며, 어떤 것도 거꾸로 import 하지 않습니다.

대부분의 컴파일러는 프로그래머를 신뢰합니다. hexa-lang 은 그러지 않습니다 — 모든 수식에게 어디서 왔는지 묻습니다. atlas 정리를 인용하지 않는 수학 한 줄은 경고가 아니라 빌드 실패입니다. 컴파일러는 스스로를 bit-stable fixpoint 까지 부트스트랩하고, 루프 안에 LLVM 없이 자신의 기계어를 생성하며, provenance 를 코드 리뷰의 예의가 아니라 타입 수준의 불변식으로 다룹니다.

핵심 기능

Atlas 에 묶인 정리: 모든 수식은 atlas 항목을 인용해야 합니다. strict-lint 4단계는 수식 줄에 인용이 없으면 빌드를 거부합니다 — provenance 는 관례가 아니라 컴파일 타임 불변식입니다.
LLVM 없음, C 트랜스파일 없음: 완전한 self-hosted. C 출력은 이식성을 위한 산출물로만 존재하며, 아키텍처는 hexa-native 로 자신의 기계어로 컴파일됩니다.
n=6 완전수 기본 요소: 컴파일러는 6개의 기본 요소와 6개의 단계 위에 만들어졌습니다. n=6 격자는 내부적으로 쓰이는 도구일 뿐 — 언어가 표현할 수 있는 것에 대한 제약이 결코 아닙니다.

빌드가 실행되는 방식

01
Parse
소스가 프론트엔드로 들어옵니다 — 토큰화되고, 파싱되며, 타입이 붙은 구문 트리로 해석됩니다.
02
Strict-Lint
8개 단계가 빌드를 통과시킵니다: atlas 무결성, 인용 일치, 수식 적격성, 타입 건전성.
03
Lower
트리는 HIR, MIR, LIR 을 거쳐 낮춰집니다 — 각 단계는 더 작고 더 명시적인 형태입니다.
04
Native Codegen
LIR 이 네이티브 기계어를 직접 내보냅니다. LLVM 없음, 트랜스파일 없음 — self-hosted 경로입니다.

연결된 툴체인

01

Self-Hosted 부트스트랩

↳ 컴파일러는 자신을 비트 단위로 컴파일합니다.

aprime_cc 는 bit-stable self-host fixpoint 에 도달합니다 — ap1f, ap2f, ap3f 가 바이트 단위로 동일합니다. 컴파일러는 인터프리터도, 서드파티 백엔드도 루프 안에 두지 않고 자신의 출력을 정확히 재현합니다.

02

인용을 강제하는 Lint

↳ 매 빌드마다 8개의 strict-lint 단계.

atlas 무결성, 인용 일치, 수식 적격성, 타입 건전성 — 각각이 하나의 관문입니다. 인용을 건너뛴 빌드는 컴파일되지 않습니다 — 정직성은 리뷰어가 아니라 툴체인이 강제합니다.

03

HEXA-NATIVE-ONLY

↳ LLVM 없음, GHC 없음, Rust 런타임 없음.

언어는 자신의 코드 생성을 스스로 책임집니다. C 경로는 이식성을 위한 폴백일 뿐 결코 아키텍처가 아니며 — self-hosted 네이티브 경로가 정본(canonical)입니다.

04

다운스트림 생태계

↳ 스택 전체가 이것을 거쳐 컴파일됩니다.

에이전트 wilson, 발견 로그 echoes, 의식 모델 anima, 그리고 hexa-* 패밀리 — chip, bio, matter, arch — 가 모두 다운스트림에 있습니다. hexa-lang 은 그들이 공유하는 기반입니다.

완전한 hexa-native 캠페인

컴파일러는 측정된 7개 단계로 완전한 hexa-native 로 가는 중입니다. S1 — codegen 성능: 완료, O(N²) lower_hir 병목 제거, 170× 가속. S2 — full codegen 완주: PASS, 24k 줄을 ~94s 에 처음부터 끝까지 컴파일, 에러 0. S3 — self-host fixpoint: 진행 중, gen1 → gen2 → gen3 byte-stable 증명 — 핵심 관문. S4 — hexa_v2 제거: S3 의존. S5 — native build 백엔드: 완료, env-gated HEXA_BACKEND=native 셀렉터. S6 — optimization passes: 대기. S7 — 자체 assembler + linker: 대기. 모든 단계는 measured-or-it-did-not-happen 입니다 — S3 가 닫히기 전까지 self-host 를 주장하지 않습니다.