x1zz.

Sewoo Jang · founder of x1zz장서우 · x1zz 창업자

high-school student in Korea한국의 고등학생

I build compilers — a data/ML pipeline DSL first, and the bridges that carry them into web frameworks.컴파일러를 만듭니다. 데이터·ML 파이프라인 DSL이 메인이고, 그것을 웹 프레임워크로 이어주는 브리지도 만듭니다.

Focused on compilers, type systems, and data infrastructure. The main line is the Xazz toolchain; Xz and its web-framework bridges extend the same ideas.컴파일러와 타입 시스템, 데이터 인프라 쪽에서 일하고 있습니다. 메인은 Xazz 툴체인이고, Xz와 웹 프레임워크 브리지가 같은 원칙을 확장합니다.

Featured Project대표 프로젝트

Xazz

Rust-based DSL compilerRust 기반 DSL 컴파일러

A from-scratch compiler for data and ML pipelines. Its own lexer, parser, type checker, Typed IR, and codegen lower one `.xzz` script to Polars (data) and Burn (deep learning).

데이터와 ML 파이프라인을 위한 컴파일러를 처음부터 직접 구현했습니다. 직접 만든 렉서, 파서, 타입 체커, Typed IR, 코드 생성기를 거쳐 `.xzz` 스크립트 하나가 Polars(데이터)와 Burn(딥러닝) 코드로 컴파일됩니다.

Lexer→Parser→Type Checker→Typed IR→Codegen→Runtime

// compiled to a typed IR once; the runtime consumes it once// IR로 한 번 컴파일되고, 런타임은 IR을 한 번만 소비

demo.xzz
type AirData = {
  station: string,
  temp:    float,
  pm10:    Option<float>,
}

v dataset = load("air_data.csv") :: AirData
    |> fillNull("pm10", strategy: "mean")

model AirPredictor {
  Dense(64) -> ReLU() -> Dense(1)
}

v trained = dataset
    |> train(AirPredictor, target: "pm10", epochs: 10)
Rust · Polars · Burn · AxumApache-2.0
GitHub
Language Lab언어 연구

Xz

experimental general-purpose language실험적 범용 프로그래밍 언어

Built around one thesis: AI-written, Human-reviewed. Xz makes machine-generated code readable, verifiable, and trustworthy — every behavior explicit, every contract visible, every failure path typed. Its differentiator is intent verification: a documented claim is proven by the compiler, trusted by a human, or rejected in strict builds.

AI가 쓰고 사람이 검증한다. 이 한 문장에서 출발한 언어입니다. 기계가 생성한 코드를 사람이 읽고 검증하고 신뢰할 수 있게 만듭니다. 동작은 전부 명시적이고, 계약은 전부 보이고, 실패 경로는 전부 타입으로 드러납니다. 핵심 차별점은 인텐트 검증입니다. 문서로 남긴 주장은 컴파일러가 증명하거나, 사람이 신뢰하거나, strict 빌드에서 거부됩니다.

Lexer→Parser→Type Checker→Contract Check→Intent Verify→LLVM

// claims are proven, trusted, or rejected — never silently ignored// 주장은 증명·신뢰·거부 셋 중 하나. 조용히 무시되는 일은 없음

contracts.xz
/// Computes the Euclidean distance between two points.
/// @intent  Returns the straight-line distance from a to b.
/// @ensures result is ok implies result.value >= 0.0
/// @effects none
func distance(a: Point, b: Point) -> Result[Float, DomainError]
    post result is ok implies result.value >= 0.0
{
    let dx = b.x - a.x
    let dy = b.y - a.y
    ok(sqrt(dx * dx + dy * dy)?)
}
Rust · LLVM 17 · inkwellPhases 1–4 · FFI underway
GitHub
Bridges브리지// Xz, carried into web frameworks// Xz를 웹 프레임워크로

next.xz

Next.js × Xz bridgeNext.js × Xz 브리지
Solo project단독 프로젝트

A hybrid framework that keeps Next.js in charge of UI and routing while Xz owns backend logic. A generator emits typed TypeScript bindings from `@export` signatures, Server Actions call the compiled shared library over Bun/Node FFI, and an agent drives the LLM → `xz check-json` → repair loop. The `/___audit` overlay renders contract and effect badges, so a human approves a diff of behavior rather than a multi-file TS diff.

Next.js가 UI와 라우팅을 맡고 Xz가 백엔드 로직을 맡는 하이브리드 프레임워크입니다. `@export` 시그니처에서 타입이 붙은 TypeScript 바인딩을 생성하고, Server Action은 Bun/Node FFI로 컴파일된 공유 라이브러리를 호출합니다. LLM이 쓴 코드는 `xz check-json` 검사와 자가 수정 루프를 거칩니다. 마지막에는 사람이 `/___audit` 화면에서 여러 파일짜리 TS diff가 아니라 동작의 diff를 승인합니다.

TypeScript · Bun · Next.jsGitHub

rails.xz

Rails × Xz toolkitRails × Xz 툴킷
With imrubydevimrubydev와 공동

A set of gems plus a mountable Engine — a toolkit on top of Rails, not a fork of it. Rails keeps ActiveRecord, Hotwire, and developer experience; Xz owns the logic that must be fast, isolated, and verifiable, loaded through Ruby FFI. The Engine renders the `/xz_audit` dashboard for human approval. I own the bridge and agent; imrubydev owns the Engine and DX.

Rails를 포크하지 않고 그 위에 얹는 툴킷입니다. gem 몇 개와 마운트 가능한 Engine으로 이루어져 있습니다. Rails는 ActiveRecord와 Hotwire, 개발자 경험을 그대로 두고, 빠르고 격리되며 검증 가능해야 하는 로직은 Ruby FFI로 불러온 Xz가 맡습니다. Engine의 `/xz_audit` 대시보드에서 사람의 승인을 거칩니다. 브리지와 에이전트는 제가 맡고, Engine과 DX는 imrubydev가 맡았습니다.

Ruby · RailsGitHub
Projects프로젝트

x1zzLang

Data pipeline DSL데이터 파이프라인 DSL

The original data-pipeline DSL that evolved into Xazz. Compiles `.xzz` into Polars LazyFrame plans with a null-safe `Option<T>` type system.

Xazz의 전신인 데이터 파이프라인 DSL입니다. `.xzz`를 Polars LazyFrame 실행 계획으로 컴파일하고, null을 안전하게 다루는 `Option<T>` 타입 시스템을 갖고 있습니다.

Rust · Polars · clapGitHub ↗

py2xzz

Transpiler트랜스파일러

A compiler pipeline from Python to `.xzz`: Python 3 is parsed with its own lexer/parser and mapped onto the xazz-core AST, then emitted back as source.

Python 코드를 `.xzz`로 바꿔주는 컴파일러 파이프라인입니다. 직접 만든 렉서와 파서로 Python 3를 읽고, xazz-core AST로 옮긴 뒤 다시 소스로 내보냅니다.

Rust · serdeGitHub ↗

Visual IDE

Graphical editor그래픽 에디터

A React-based editor that turns connected nodes into `.xzz` code in real time and runs it against the backend.

노드를 연결하면 실시간으로 `.xzz` 코드가 생성되어 백엔드에서 실행되는 React 기반 에디터입니다.

React 18 · Vite · @xyflow/reactGitHub ↗
Research연구

LLM-PCAG

energy efficiency of LLM quantizationLLM 양자화의 에너지 효율

Quantifies how much energy weight quantization actually saves. The PCAG metric shows that savings collapse faster than accuracy loss, and a power wall at INT4→INT3 was verified through three independent paths. The Jevons paradox is proved in closed form.

가중치 양자화가 에너지를 실제로 얼마나 아끼는지 측정하는 연구입니다. PCAG 지표는 절감 효과가 정확도 손실보다 먼저 무너진다는 걸 보여주고, INT4→INT3 지점의 파워 월은 세 가지 독립 경로로 검증했습니다. 제본스 역설은 닫힌 형태로 증명했습니다.

PCAG collapsePCAG 붕괴

20.8 → 10.4 → 4.8

Power wall파워 월

INT4 → INT3 · −54.4%

Cross-model모델 교차 검증

4 models · all INT4→INT3

Jevons paradox제본스 역설

load grows iff E_d > 1

PCAG power wall — INT4 → INT3PCAG 파워 월 · INT4 → INT3
PCAG power wall chart at INT4 to INT3

current status — literature-anchored analysis · GPU measurement harness in progress현재 상태: 문헌 기반 분석까지 완료했고, GPU 측정 하네스는 작업 중입니다

Python · NumPy · SciPy · SymPy
Open Source오픈소스

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★
Main contribution · all backends + autodiff대표 기여 · 전 백엔드 + autodiff

Merged PR #5582: the largest-scope contribution — implemented the missingMin / Max variants for element-wise scatter / select_assignacross all four backends (ndarray, flex, cubecl, tch) plus autodiff backward passes, closing the last gap left by #5522. Dispatch matches now enumerate every IndexingUpdateOp variant, so an unsupported combination fails at compile time instead of panicking at runtime. Verified with 1839 tensor + 572 autodiff tests.

PR #5582 머지. 범위가 가장 컸던 기여입니다. 요소별 scatter / select_assign에서 빠져 있던 Min / Max 변형을 네 백엔드(ndarray, flex, cubecl, tch)와 autodiff backward까지 구현해 #5522의 마지막 빈 곳을 채웠습니다. 이제 dispatch match가 모든IndexingUpdateOp 변형을 열거하기 때문에, 지원하지 않는 조합은 런타임 panic이 아니라 컴파일 타임 에러로 걸립니다. 텐서 1839개 + autodiff 572개 테스트로 검증했습니다.

scatter Min/Max · 4 backends · autodiff · RustPR #5582

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★

Merged PR #5555: added matmul batch-broadcast validation to TensorCheck, the public tensor-API check layer that runs before backend dispatch — so every backend reports a consistent Tensor Operation Error instead of an inconsistent backend-specific panic.

PR #5555 머지. 백엔드 디스패치 이전에 실행되는 공개 텐서 API 검증 레이어인TensorCheck에 matmul 배치 브로드캐스트 검증을 추가했습니다. 이제 모든 백엔드가 같은Tensor Operation Error를 받습니다. 전에는 백엔드마다 다른 panic이 떴습니다.

TensorCheck · Rust · merged by maintainerPR #5555

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★

Merged PR #5564: applied the binary_ops_ew TensorCheck (device + broadcast validation) to five element-wise ops — remainder, powi, powf,hypot, atan2 — so mismatches surface as a consistentTensor Operation Error instead of backend-specific panics.

PR #5564 머지. 요소별 이항 연산 다섯 개(remainder, powi,powf, hypot, atan2)에 binary_ops_ew 텐서 검증을 적용했습니다. device와 브로드캐스트를 검사해서, 이제 불일치는 백엔드별 panic이 아니라 일관된Tensor Operation Error로 나타납니다.

binary_ops_ew · Rust · merged by maintainerPR #5564

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★

Merged PR #5580: rank-1 matmul calls previously bypassedTensorCheck (a D < 2 short-circuit) and failed inconsistently per backend — ndarray panicked with attempt to subtract with overflow, tch returned a 0-dim dot-product scalar, cubecl had no valid kernel input. TensorCheck::matmul now rejects ranks < 2 with a clear error, mirroring the tri() check.

PR #5580 머지. rank-1 matmul은 기존에 TensorCheck를 우회했고 (D < 2 short-circuit) 백엔드마다 다르게 실패했습니다. ndarray는attempt to subtract with overflow로 panic을 내고, tch는 0차원 dot-product 스칼라를 돌려주고, cubecl은 유효한 커널 입력을 찾지 못했습니다. 이제 TensorCheck::matmul이 tri()검증과 같은 방식으로 rank < 2를 명확한 에러로 거부합니다.

TensorCheck rank check · Rust · merged by maintainerPR #5580

apache/arrow-rs

Apache Arrow & Parquet in Rust · 3.6k★Rust로 구현한 Apache Arrow & Parquet · 3.6k★

Merged PR #11005: replaced the BufferBuilder used to re-encode sliced IPC run-ends with Vec — the one callsite still using the builder on current main (see#10245, where maintainers noted Rust's optimized Vec typically wins over the builder abstraction).

PR #11005 머지. IPC run-ends 재인코딩에 쓰던 BufferBuilder를 Vec으로 바꿨습니다. 유지보수자들이 "Rust의 최적화된 Vec이 빌더 추상화보다 낫다"고 언급한#10245 전환 작업에서 main에 실제로 남아 있던 마지막 callsite였습니다.

Vec vs BufferBuilder · Rust · merged by maintainerPR #11005

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★

Merged PR #5639: fixed a no-std build break in burn-std. The#[cfg(test)] module in layout.rs used vec![...] without importing the vec! macro, so cargo test --no-default-features -p burn-std failed to compile. Added use alloc::vec; — 168 unit tests pass.

PR #5639 머지. burn-std의 no-std 빌드가 깨지는 문제를 고쳤습니다.layout.rs의 #[cfg(test)] 모듈이 vec! 매크로를 임포트하지 않은 채vec![...]를 써서 cargo test --no-default-features -p burn-std가 컴파일에 실패했습니다. use alloc::vec;를 추가했고, 168개 유닛 테스트가 통과합니다.

no-std · vec! macro · Rust · merged by maintainerPR #5639

tracel-ai/burn

Rust deep learning framework · 15k★Rust 딥러닝 프레임워크 · 15k★

Merged PR #5867: restored gpu-allocator's transitivewindows crate to 0.62.2 so it matches wgpu-hal's DX12 backend — a Cargo.lock-only fix for a dependency-resolution regression that had broken the Windows MSVC build (10 errors → clean), a recurrence of#5735.

PR #5867 머지. gpu-allocator의 전이 windows 크레이트를wgpu-hal의 DX12 백엔드와 맞는 0.62.2로 되돌렸습니다. 의존성 재해석으로 Windows MSVC 빌드가 깨지던 문제(에러 10개 → 클린)를 Cargo.lock만 고쳐 해결했고,#5735의 재발이었습니다.

windows 0.62.2 · Cargo.lock · Rust · merged by maintainerPR #5867
About소개

I study compilers and systems engineering and build them as working software. The Xazz toolchain is a single family of languages — a DSL, a transpiler, and a visual editor — that share one typed AST and one philosophy: move errors from runtime to compile time. Xz extends that idea to general-purpose code, and next.xz and rails.xz carry it into web frameworks so AI-written backend logic can be generated, verified, and approved by a human inside Next.js and Rails.

컴파일러와 시스템 엔지니어링을 공부하고, 그걸 동작하는 소프트웨어로 만들고 있습니다. Xazz 툴체인은 DSL, 트랜스파일러, 비주얼 에디터가 하나의 타입드 AST와 하나의 원칙, 즉 에러는 런타임이 아니라 컴파일 타임에 잡는다는 생각을 공유하는 한 가족입니다. Xz는 이 아이디어를 범용 코드로 확장한 것이고, next.xz와 rails.xz는 그걸 웹 프레임워크로 가져와서 AI가 쓴 백엔드 로직을 Next.js와 Rails 안에서 생성하고 검증하고 승인하게 만듭니다.