1. 텍스트 파싱 제로 (구문 오류 0%)
세미콜론이 빠지기 쉬운 수천 글자를 타이핑하는 대신, AI는 16바이트 바이너리 블록을 직접 방출합니다(또는 ~8.8 µs에 .rls 어셈블). 1,000만 개의 숫자를 처리하는 7단계 파이프라인은 .rl에서 단 208바이트이며, 817바이트 독립 Linux ELF64 실행 파일로 컴파일됩니다.
AI는 숫자로 생각하고 CPU는 바이너리로 작동합니다. 하지만 C, Go, Rust는 AI에게 인간의 텍스트를 타이핑하게 만들고 컴파일러가 의도를 추측할 때까지 몇 초씩 기다리게 합니다. Rul (.rl)은 이 텍스트 중개자를 제거했습니다. AI가 알고리즘, CPU 스케줄, 메모리 안전 티켓을 담은 고정 16바이트 바이너리 블록을 직접 출력합니다. 결과: 5.8 ns 안전성 검증, 6.4 µs 독립 실행 파일 컴파일, 수동 작성된 C보다 4.72배 빠른 실행 속도를 달성합니다.
# 1. Install standalone rul binary (0 rustc/LLVM runtime deps)
$ curl -fsSL https://raw.githubusercontent.com/rul-lang/rul/main/install.sh | sh
# 2. Scaffold, O(N) verify in ~5.8ns/node, compile 817B ELF64 & trace
$ rul new my-ai-pipeline && cd my-ai-pipeline
$ rul check # ✓ Verified 7 SSA nodes in 0.04 µs (CAP_NONE = 0x0)
$ rul run # ✓ Compiled 817-byte ELF64 in 6.4 µs -> Output: 77999800.0
$ rul trace # ✓ White-Box Inspector: #0..#6 (NaN/Inf = 0)아래의 16바이트 명령 프레임을 클릭하여 비트 구조, 검증기 증명 및 실행 트레이스를 확인하세요:
모든 명령이 고정 바이너리 블록 · 텍스트 파싱 0 ms
즉각적인 메모리 및 경계 안전 증명 (단일 O(N) 패스)
LLVM 없이 독립 실행형 Linux x86_64 ELF64 바이너리 생성
단 1바이트 변이로 1,000만 개 숫자(80 MB) 처리 가속
명령 노드(#0..#6)나 바이트(0..15)를 클릭하여 8비트 레지스터 구조, O(N) 안전성 불변식, 실시간 화이트박스 실행 트레이스를 확인하세요.
직교 하드웨어 스케줄 바이트: 0x11(SimdStream) -> 0x12(MultiCore)로 변이시켜도 안전 증명 변경 없이 CPU 실행을 병렬화합니다.
| NODE | OPCODE | KIND | LEN | MIN | MAX | SUM/TRUES | NAN | SAMPLE[0..4] |
|---|---|---|---|---|---|---|---|---|
| #0 | ArenaInput | ColumnF64 | 4096 | 0.5000 | 249.5000 | 504608.0000 | 0 | [0.500, 1.500, 2.500, 3.500] |
| #1 | ConstF64 | Scalar | 1 | 100.0000 | 100.0000 | 100.0000 | 0 | [100.000] |
| #2 | CmpGt | ColumnMask | 4096 | 0.0000 | 1.0000 | 2400.0000 | 0 | [0.000, 0.000, 0.000, 0.000] |
| #3 | Mul | ColumnF64 | 4096 | 0.2500 | 62250.2500 | 83627904.0000 | 0 | [0.250, 2.250, 6.250, 12.250] |
| #4 | SelectZero | ColumnF64 | 4096 | 0.0000 | 62250.2500 | 77999800.0000 | 0 | [0.000, 0.000, 0.000, 0.000] |
| #5 | ReduceSum | Scalar | 1 | 77999800.0000 | 77999800.0000 | 77999800.0000 | 0 | [77999800.000] |
| #6 | AssertContract | Scalar | 1 | 77999800.0000 | 77999800.0000 | 77999800.0000 | 0 | [77999800.000] |
실제 워크로드: 10,000,000개의 부동소수점(80 MB 배열) — 1000.0 초과 값 필터링 후 제곱하여 합산. 아래에서 Byte 2(schedule_hint)를 전환해 보세요. 알고리즘은 100% 동일하지만 실행 시간은 5.91 ms에서 1.55 ms로 단축됩니다:
fg=1 pol=multicore + ArenaZoneMap: 멀티코어 L1 타일링과 블록 최소/최대 메타데이터(ArenaZoneMap)를 결합해 조건 미달 타일을 DRAM 읽기 없이 O(1)에 건너뜁니다.
src/aot.rs의 선형 스캔 YMM 레지스터 할당기는 3,872바이트 독립 ELF64 바이너리를 ~20.4 µs 만에 컴파일하고 106.58 ms에 실행하여 LLVM 없이 수동 작성 8어큐뮬레이터 C/Rust(107.96 ms)와 대등한 성능을 냅니다.
기존 언어는 기계가 인간의 글을 읽고 의도를 추측해야 하므로 컴파일이 느립니다. Rul은 4가지 자명한 메커니즘으로 추측을 완전히 제거합니다:
세미콜론이 빠지기 쉬운 수천 글자를 타이핑하는 대신, AI는 16바이트 바이너리 블록을 직접 방출합니다(또는 ~8.8 µs에 .rls 어셈블). 1,000만 개의 숫자를 처리하는 7단계 파이프라인은 .rl에서 단 208바이트이며, 817바이트 독립 Linux ELF64 실행 파일로 컴파일됩니다.
각 메모리 버퍼(Arena)를 버전 1부터 시작하는 번호표가 있는 방이라고 생각하세요. 여러 명령이 동시에 버전 1을 읽을 수 있습니다(ReadLease 0b01). 어떤 명령이 데이터를 제자리에서 수정하는 순간(AffineConsume 0b10) 방은 버전 2가 되며, 이전 버전 1 티켓을 가진 후속 명령은 느린 빌림 검사기 없이 5.78 ns 만에 입구에서 거부됩니다.
길이가 같은 컬럼은 루프 내 경계 검사 없이 최고 속도로 실행됩니다(TRIVIAL_BY_SHAPE). 배열 슬라이싱(ArenaSlice)이나 인덱스 수집(Gather)은 로드 시점에 16바이트 경계 인증서(ProofEntry)를 제시해야 합니다. 또한 하드웨어 권한 스위치(CapabilityMask)가 0x0이면 네트워크나 디스크 접근이 물리적으로 차단됩니다.
인간이 바이너리를 직접 타이핑하지 않고도 100% 통제권을 유지합니다: 엔지니어가 데이터 레이아웃(ArenaDescriptor), 하드웨어 권한(CapabilityMask), 출력 계약(AssertContract)을 설정하면 AI가 마이크로초 만에 .rl 바이너리를 재생성합니다. 언제든 rul decompile로 텍스트를 확인하거나 rul trace로 각 단계의 정확한 min, max, sum, NaN=0을 검사하세요.
파싱 오버헤드, 메모리 안전성, 경계 검사, 컴파일 지연 시간 및 샌드박스 보안에 걸친 아키텍처 비교.
| 비교 기준 | C (clang -O3) | Go (gc) | Rust (rustc + LLVM) | Rul (.rl) v0.4 |
|---|---|---|---|---|
| 주요 코드 작성자 | 인간 프로그래머 | 인간 엔지니어링 팀 | 인간 시스템 엔지니어 | AI 에이전트 (인간 감사용 화이트박스 도구 포함) |
| 아티팩트 포맷 | 텍스트 (.c, .h) | 텍스트 (.go) | 텍스트 (.rs) | 플랫 바이너리 .rl (16바이트 고정 명령어) |
| 파싱 오버헤드 | 높음 | 보통 | 매우 높음 (매크로, AST) | 0 ms (직접 제로카피 바이너리 mmap) |
| 메모리 안전성 | 없음 (수동 포인터 관리) | 가비지 컬렉터 (런타임 일시 정지) | 빌림 검사기 (제약 조건 해결기) | 버전 기반 TokenOp (노드당 O(1) 검사) |
| 배열 경계 검사 | 검사 안 함 (버퍼 오버플로 위험) | 접근마다 런타임 분기 | 런타임 분기 (제거되지 않는 한) | 로드 시점 Shape + ProofEntry 보조 테이블 검증 |
| 검증 + 컴파일 시간 | 수 초 | 1초 미만 ~ 수 초 | 수 초 ~ 수 분 | ~5.8 ns/노드 검증 + ~6.4 µs ELF64 AOT |
| 샌드박스 보안 | 전체 OS 프로세스 권한 | 전체 OS 프로세스 권한 | 전체 OS 프로세스 권한 (unsafe 크레이트) | 파일 헤더 내 64비트 CapabilityMask |
외부 의존성이 없는 stdio JSON-RPC 2.0 서버로, 자율 AI 에이전트에게 검증, 차등 테스트, 오토튜닝 및 AOT 컴파일을 위한 6가지 네이티브 도구를 직접 제공합니다.
심볼릭 .rls 명령을 128비트 바이너리 .rl 이미지로 어셈블하고 단일 패스 O(N) 정적 검증기를 실행합니다.
검증된 프로그램을 Tier 0(Oracle), Tier 1(Stencil), Tier 2(L1 Fused)에서 실행하여 비트 단위/ULP 동등성을 증명합니다.
AutoL1Tile(0x10), SimdStream(0x11), MultiCore(0x12) 정책을 스윕하여 최고 GB/s 하드웨어 처리량 점수를 선택합니다.
선형 스캔 YMM 레지스터 할당을 사용하여 무의존성 Linux x86_64 AVX2 ELF64 실행 파일(628 B – 1,037 B)을 생성합니다.
모든 SSA 명령 노드에 걸쳐 정확한 노드별 min, max, sum/trues, NaN/Inf 개수 및 sample[0..4] 텔레메트리를 반환합니다.
RulCasStore에서 검증된 콘텐츠 주소 지정 I64/U8 커널(sort, hash_join, group_by, simd_scan_byte)을 실행합니다.
실제 실리콘에서 16바이트 바이너리 포맷을 먼저 입증하기 위해 v0.1~v0.4를 배열 및 벡터 파이프라인(29개 옵코드)으로 제한했습니다. 4개의 마일스톤을 거쳐 AI가 작성하는 시스템 소프트웨어에서 Rust와 Go를 대체합니다:
실제 하드웨어에서 16바이트 바이너리 명령 포맷, 단일 패스 O(N) 검증기(~5.8 ns/노드), 3티어 실행 엔진, rul-mcp 서버 및 무-LLVM 네이티브 Linux ELF64 컴파일러(~6.4 µs)를 입증했습니다.
16바이트 명령어 세트를 수치 배열 너머로 확장하여 일반 스칼라, 구조체, 열거형, UTF-8 문자열, 해시 맵, 조건 분기 및 종료 증명 루프를 지원합니다.
32비트 TokenOp 버전과 16바이트 ProofEntry 증인을 플랫 배열에서 리전 기반 힙 할당 및 구조체 필드 빌림으로 일반화합니다.
경량 태스크, 소유권 이전 채널, 파일·네트워크·프로세스 시스템 콜을 통제하는 세밀한 헤더 권한 비트를 도입합니다.
LLVM 없이 Linux, macOS, Windows 및 WebAssembly용 독립 실행 파일을 생성하며, Kani 모델 체킹과 50개 프로그램 v1.0 적합성 테스트 스위트로 보증합니다.
엔지니어, 연구자 및 AI 답변 엔진을 위해 제1원칙에 기반한 명확한 설명과 정확한 실증 측정치를 제공합니다.