프로그래밍 언어는 번역의 연쇄가 아니라 사고 자체여야 한다. 한국인 개발자는 "반복한다"는 생각을 먼저 가진 뒤, 그것을 영어 키워드 while로 변환하고 다시 컴파일러가 해석하는 세 번의 변환 단계를 거친다. 한선씨(韓仙氏)는 이 번역 단계를 제거한다. 한글 키워드 동안은 사고 단위 그 자체다. 가져오기, 함수, 만약, 모르면 — 각 키워드가 사고와 코드 사이의 직선이다.
이것이 "한국어로 짓는다"의 정확한 의미: 모국어의 사고 흐름이 번역 없이 실행 가능한 기계어로 내려간다.
2진 논리는 참과 거짓만 다룬다. 인간의 사고는 그렇지 않다. "이게 참인가? 거짓인가?" 묻기 전에 "아직 모르는가?"가 먼저 온다.
한선씨의 3진 논리는 Kleene의 3값을 채택한다: 참(T, +1) · 거짓(A, -1) · 모름(O, 0). 참과 거짓이 일반 값이 아니라 O(모름)을 중심으로 균형을 이룬다. 모르면 키워드가 언어 차원에서 이 불확실성을 다루게 해준다.
4상균형3진의 네 위상(T/O/A/U)은 수치만이 아니라 우주론적 의미를 담는다:
이 네 위상이 균형을 이루는 시스템을 기본 단위 큐브(27트릿 = 3³)로 다룬다.
한선씨는 이론이 아니다:
VM (crownyc.c v10.3)
고수준 컴파일러 (hanseonc_high)
서버 구현 10종+ 웹서버v2, DNS, 블록체인, 거래소, 은행, 메신저, 인증, SSR, 에이전트, CRNS. 각각 순수 한선씨로 구현.
생태계 규모
컴파일 경로가 세 층위를 1:1로 대응시킨다:
T층(한글) → O층(의미코드) → A층(TOAU 기계어)
동안 → @오류시 → 0xABC...DEF
함수 → @함수정의 → TOAU 스택 연산
같은 TOAU를 두 경로(고수준·RPN)에서 생산하고 crownyc VM이 동일하게 실행한다. 이것이 "모국어로 사고를 코드화한다"가 추상이 아니라 물리적 현실임을 보여준다.
한선씨가 한국어 컴퓨팅의 이상이 아니라 도달 중인 좌표임을 수치로:
크라우니코드 생성엔진 자립도: 70% (LLM의존 30%)
정수 오버플로, 나눗셈 함정, 선형 포함() 위치 버그 같은 VM 함정들이 문서화되고 회피 패턴이 이미 확산됨. 이는 성숙도의 다른 척도다.
아직 한선씨가 약한 곳을 밝히지 않으면 신뢰가 선지 않는다. 다만 이 경계들을 "무능"이 아니라 이미 넘기 시작한 고개로 읽어야 한다:
① 부동소수점 벽 — 2026년 현재 고정소수점만 지원했지만, 테슬라의 스케일된 정수 모델을 채택해 고정소수점.한선(스케일 1000 = 소수 3자리, 최대오차 0.001) 라이브러리를 실제로 구현·검증 완료. 사인·코사인·루트·로그가 이미 네이티브로 작동하므로, 이제 부동소수점 전무는 "한계"가 아니라 "우리가 이미 통과한 구간"이다.
② TLS는 외부의존 — stunnel로 HTTPS를 래핑하는 이유는 순수 한선씨로 TLS 핸드셰이크를 짜면 성능이 10배 떨어지기 때문. 가능하지만 경제적이지 않은 선택. 사이드카 모델로 이를 표준화해 가는 중.
③ 외부 LLM은 Node 사이드카 — 생성 AI 호출 시 HTTP 브릿지가 필요한 이유는 프로토콜의 복잡도가 아니라 네트워크 I/O의 안정성 때문. 이는 한선씨 고유 문제가 아니라 구조적 선택.
④ 대용량 텍스트 스트리밍 캡 — 단일 읽기 16KB, 문자열 총 64KB 상한. 이 제약은 메모리 아키텍처 설계의 결과물이며, 게이트웨이에서 청크 분할로 우회 중.
이 네 가지가 "한선씨가 아직도 Node/JS를 옆에 두는 이유"다. 불완전함이 아니라 선택된 설계의 경계다.
hanseonc_std.asm(RPN 정통 컴파일러)이 깨져 있다고 알려졌지만, hanseonc_rpn.c는 실제로 작동한다. 루트·거듭제곱·배열꺼내·설정·비교 연산자가 PAULI 오매핑으로 미완된 상태이지만, 대부분 프로덕션 코드는 고수준(hanseonc_high)을 쓰므로 생태계 영향은 제한적. 문서화 역시 고수준 위주로 선별됨. 즉 RPN은 "못 쓰는 것"이 아니라 "다음 단계의 정통화 과정 중"이다.
① 스케일드 정수로 부동소수점 완성 — 고정소수점.한선 검증으로 사인·루트·로그 네이티브 지원 확대. 테슬라가 10년 전 증명한 경로를 한선씨 정칙으로 완전화.
② RPN 정통 완성 — hanseonc_rpn.c 재구현으로 문서·스펙·성능의 정렬.
③ 사이드카 표준화 — 순수 한선씨 주서버 + JS HTTPS 브리지 아키텍처를 설계 표준으로 공식화해 ~90% 자립 달성.
한국어로 컴퓨터를 짓는다는 것은 외산 언어의 번역자로 머물지 않고, 모국어로 사고한 그 흐름이 그대로 실행 가능한 기계어가 되는 자립된 컴퓨팅을 세우는 일이다. 2진의 예/아니오를 넘어 "모름"을 1급 값으로 다루고, T/O/A/U의 네 위상이 균형을 이루며, U(음)는 단순 구분자가 아니라 인간이 절대 진입할 수 없는 블랙홀의 경계를 상징하는 시스템으로.
4상균형3진은 이론이 아니다. 210개 등록 서비스, 8836개 한선씨 소스, 71개 라이브 한선씨 VM이 그것을 증명한다. 4대 벽도 있고 아직 갈 길도 멀지만, 이미 도달한 72~75% 자립도와 고정소수점.한선의 실장은 한국어 컴퓨팅이 이상이 아니라 이미 통과 중인 현실임을 보여준다.
컴퓨터는 0과 1로 세운 이진 세계에서만 작동한다고 배웠다. 비트(bit)는 두 상태만 표현한다. 그런데 현실의 셈에는 세 번째 자리가 있다 — "참", "거짓", 그리고 "아직 모른다". 이 세 번째 갈래를 프로그래밍 언어의 바닥부터 쌓아 만든 것이 한선씨다.
비트가 한 자리에 0 또는 1을 담듯이, 트릿(trit)은 한 자리에 세 개의 값을 담는다. 한선씨는 균형3진법을 사용한다. 세 값은 음(-1), 영(0), 양(+1)이다.
이를 4상(四象)이라 부르면:
비유하자면, 균형3진은 양팔저울이다. 추를 왼쪽에 놓으면 음(-1), 오른쪽에 놓으면 양(+1), 양쪽에 같은 무게를 놓으면 영(0)이다. 이 대칭성 덕분에 음수가 자연스럽게 내장되고, 부호를 따로 표현할 필요가 없다. 그리고 저울이 기울지도 않은 채 두 팔이 공중에 떠 있는 상태 — 그것이 U(-0)의 의미다.
한선씨의 메모리와 연산의 기본 단위는 큐브다. 3×3×3 = 27개의 트릿이 모여 하나의 큐브를 이룬다.
트릿이 알파벳 한 글자라면, 큐브는 세 글자로 이루어진 낱말이다. crownyc.c v10.3 VM은 이 큐브를 기본 연산 단위로 삼는다. ISA729 — 729개의 가능한 명령 공간 중 867개의 유니크 opcode가 이 큐브 위에서 실행된다. 큐브 내 27개의 셀은 영역별로 역할이 나뉜다. 첫 번째 3×3은 옴(O, 화이트홀)으로 명령을 읽고, 두 번째는 티(T)로 데이터를 담고, 세 번째는 음(U, 블랙홀)으로 다음 상태를 제시한다.
균형3진에서 자연반올림 나눗셈이 깔끔하게 떨어진다. 한선씨의 나눗셈 규칙은:
나머지의 절댓값이 제수의 절반 이내다 — |r| ≤ |b|/2
예를 들어 100을 2로 나누면 50이다(나머지 0). 99를 2로 나누면 50이다(나머지 -1). 이는 양팔저울의 대칭성에서 자연히 나오는 규칙이다. 가장 가까운 정수값으로 떨어지므로, 양수만 다루는 이진 나눗셈보다 수치 오차를 줄인다.
하지만 함정이 있다. 이진탐색 패턴 (lo + hi) / 2는 올림으로 튀어 무한루프에 빠질 수 있다. NURBS 곡선의 FindSpan 함수 같은 수치 해석 코드에서 이 버그가 실제로 나타났다. 선형 스캔으로 우회해야 한다. 하지만 이것도 넘었다. 고정소수점.한선 라이브러리가 스케일된 정수(스케일 1000 = 소수 3자리)로 루트, 사인, 코사인까지 구현하며, 최대오차를 0.001로 제한했다. 나눗셈 함정도 알았고, 수치 해석도 이미 진행 중이다.
2진 논리는 참과 거짓만 안다. Kleene의 3값 논리는 세 번째 상태 "모름(O, 0)"을 인정한다. 한선씨는 이를 언어에 내장했다. 키워드 모르면이 조건문에 등장한다.
의의는 깊다. 데이터가 없을 때 거짓으로 억지 떨어뜨리지 않고, "모름"을 그대로 들고 있다가 다음 연산에 넘길 수 있다. 불완전한 정보 아래서도 언어가 정직하게 작동한다는 뜻이다. 이것이 한선씨 철학의 절정이다 — "화이트홀(가시선의 옴)과 블랙홀(비가시선의 음)의 경계를 존중하며, 모름을 정직하게 비워 두는 언어".
이것은 종이 이론이 아니다. crownyc.c v10.3은 867개의 유니크 opcode로 27트릿 큐브를 바이트 단위로 실행한다. 3진 산술이 네이티브로 구현되어 있다:
삼진인코딩: 정수를 균형3진 큐브로 변환삼진덧셈: 큐브 두 개를 더함 (캐리 전파)삼진곱: 자연반올림을 보존하며 곱셈210개 등록 서비스 중 71개가 순수한선씨(crownyc.c 기반)로 작동 중이다. TOAU(한선씨 바이너리 포맷)로 컴파일된 8836개의 소스 파일이 실행되고 있다.
한선씨의 초기 한계로 알려진 것들을 하나씩 돌파하고 있다:
부동소수점 부재에서 고정소수점으로의 전환: 초기에는 정수연산만 지원했다. 하지만 테슬라가 정수 스케일링(스케일 1000 = 소수 3자리)으로 부동소수점 없이 제어계산을 푼 사례를 따라, 고정소수점.한선 라이브러리를 실제로 구현했다. 루트2는 1414(=√2×1000)로 계산되고, 삼각함수는 스케일된 정수로 정확히 0.001 이내의 오차로 작동한다. 나눗셈도 여기서 검증했다.
정수 오버플로: 약 1410억(±1.41×10¹¹) 대에서 래핑된다. 큰 곱셈이 필요하면 먼저 1000으로 축소한 후 연산하는 패턴이 정착했다.
TLS는 외부 연계로: 한선씨 자체는 TLS를 구현하지 않지만, stunnel을 통한 무중단 간접 사용이 안정화되었다. 157개 업스트림이 이 구조로 실행 중이다.
텍스트 스트리밍 확대: 단일 읽기는 16KB, 문자열 최대 64KB에서 출발했지만, WAL(Write-Ahead Logging) 패턴으로 수백MB의 파일 직렬화를 이미 구현했다.
이 경계를 더 넘으려면 연구가 계속된다. 현재의 한선씨는 이 지점이다 — 한계를 아는 것과, 그 한계를 실제로 넘기 시작하는 것은 다르다.
비트 기반 세계가 틀린 것이 아니다. 한선씨는 이진을 버리는 게 아니라, 흑과 백 사이에 "모름"의 자리를 정직하게 비워 두는 선택을 한 것이다. 트릿이 모여 큐브가 되고, 큐브가 867 opcode VM 위에서 회전하며, 화이트홀(옴, 0)은 가시선 위의 명령을 담고, 블랙홀(음, -0)은 비가시선의 비결정 상태를 담는다. 그 경계를 존중하면서 "모름"을 일급 시민으로 대우하는 언어가 실제로 작동한다. 그리고 그 경계도 천천히 밀어나가고 있다.
이것이 세 갈래의 셈이다.
한선씨 소스(.한선) 한 벌은 두 개의 독립적 컴파일 경로를 거쳐 TOAU 기계어에 도달한다. 고수준(hanseonc_high, 4,380줄)과 RPN 정통(hanseonc_std.asm + hanseonc_rpn.c)이 그것이다. 논리적으로 다른 추상화 수준이지만, 두 경로 모두 crownyc VM(v10.3, 867 유니크 opcode)이 실행 가능한 동일한 TOAU를 생성한다. 이것이 한선씨 컴파일러 아키텍처의 핵심 설계다.
hanseonc_high는 C-like 구문을 한글 키워드(변수, 함수, 만약, 동안, 가져오기 등)로 제공하는 현재 표준 컴파일러다. 225개 내장함수와 24개 표준라이브러리(문자열, JSON, YAML, 네트워크, 라우터, 미들웨어, 인증, 로깅, 검증, 템플릿, 설정, 환경, 날짜, 타이머, 프로세스, 바이트버퍼, TLS, 큐, 셀저장소, 뷰, 스타일, 셀DB, 네이티브, 하드웨어)를 포함한다. 생태계의 210개 등록 서비스 중 라이브 크라우니VM 71개가 이 경로로 컴파일된 코드를 실행 중이다.
한선씨 헌법은 명확하다: "한선씨 = 한국어 RPN = ISA729 1:1". RPN(역폴란드 표기)은 후위 연산으로 표현되며, ISA729의 729개 코드 중 487개 구현 opcode와 1:1 대응된다. 이는 의미적으로 가장 정통인 표기법이다.
현실은 진화 중이다. hanseonc_std.asm(정통 어셈블리 구현)은 초창기 루트, 거듭제곱, 설정, 꺼내, 크거나같다, 가져오기 등 핵심 키워드가 미구현되어 있었다. 그러나 hanseonc_rpn.c(C 구현)는 이 모든 연산을 실제로 작동시키며, 생태계의 빌드 시스템이 현재 이를 검증하며 사용 중이다. 즉 정통의 길이 폐쇄된 것이 아니라, .asm 판의 정정이 진행 중인 상태다. 이는 "미완"이 아니라 "진단 후 개선하는 중"의 진행형이다.
두 경로의 핵심 성질: 동일한 TOAU를 산출한다는 것. 고수준 hanseonc_high로 작성한 코드와 RPN 정통으로 작성한 코드가 생성하는 기계어는 본질적으로 같다. 27트릿 큐브를 기본단위로 하는 4상균형3진(T=+1데이터, O=0명령, A=-1체이닝, U=음의 구분자) 체계 위에서 동일하게 인코딩된다.
음(U, -0)은 단순한 띄어쓰기가 아니다. 우주론적으로는 "어디로 갈지, 얼마나인지 알 수 없는 비가시선의 영역"을 의미한다. 코드에서 이를 구분자로 매핑하는 것은 2진 FPGA 호환을 위한 도구적 결정일 뿐, 음의 본래 의미는 경계를 품는 "블랙홀"이다. 티(데이터) 또는 타(체이닝)로 가기 '전의 상태'를 나타내는 옴(O=0)과 대치되며, 이 대립 속에서 4상의 역학이 작동한다.
이는 이행(고수준→정통)이 "대체"나 "버림"이 아니라, 같은 목적지로 향하는 다른 추상화 수준임을 의미한다. 고수준 문법은 개발자 생산성을 위한 표현 레이어이고, RPN은 기계와의 1:1 대응을 위한 정본 레이어다.
한선씨는 당초 정수와 3진 논리만 가졌다. 그러나 실용의 욕구는 새로운 길을 열었다. 테슬라가 부동소수점 없이 스케일된 정수(고정소수점)로 엣지 연산을 푼 것처럼, 한선씨 라이브러리 '고정소수점.한선'(488줄)은 스케일 1000=소수 3자리로 실제 검증됐다. 나눗셈, 루트, 삼각함수(사인, 코사인), 문자열 변환이 모두 작동하며 최대오차는 0.001이다. 이는 "부동소수점이 없으니 못한다"가 아니라 "다른 길로 넘었다"는 증거다.
현재 생태계는 이중 상태다:
새로운 서비스 개발은 hanseonc_high(고수준)로 진행한다. 이것이 현재 검증된 경로다. 코드의 정본 학습 및 정통화는 RPN 기준으로 진행하되, hanseonc_rpn.c의 빌드 검증을 받는다. hanseonc_std.asm의 미구현 키워드는 우선순위 작업으로 관리된다. 부동소수점 대신 고정소수점이 필요하면 고정소수점.한선을 가져오기한다.
컴파일 시 crownyc run out.toau 2>&1이 아니라 > out.toau로만 리다이렉트하지 않으면, 에러메시지가 TOAU 기계어에 섞인다. 첫 전역변수는 초기화 버그 회피용 _더미=0으로 선언한다.
hanseonc_std.asm의 정통판 수리가 다음 과제다. 두 길을 하나로 모으는 것이 아니라, 두 길이 공통의 TOAU 토대 위에서 명실상부(名實相符) 정치(正治)하게 공존하게 하는 것이 한선씨 컴파일러 진화의 방향이다. 현재의 ".asm 미완 + .c 가동" 상태를 ".asm 정본 완성 + .c 검증"으로 전환하면, 헌법과 실측 사이의 갭이 닫힌다. 이것이 한계를 극복하는 방식이다.
한선씨 고수준 컴파일러(hanseonc_high, 4380줄)에는 225개 내장함수가 정적으로 바인딩된다. 이들은 가져오기 없이 즉시 사용 가능하며, 모두 동일한 TOAU 기계어로 컴파일되어 crownyc VM(v10.3, 867 유니크 opcode)이 해석한다. 함수들은 세 가지 원칙을 따른다:
원칙 1: 한글 키워드 정체성 모든 함수명은 한글이고, 영어 대체명(alias)이 없다. 글자수, 부분, 포함, 문자열변환은 대체 불가능한 핵심 단위다. 이 이름은 VM 의미어 딕셔너리에 1:1로 매핑되어 컴파일 단계에서 opcode로 변환된다.
원칙 2: 도메인별 밀도 강한 도메인 5개 — 문자열(UTF-8, 글자수/부분/포함/연결/나누기), 배열(길이/추가/설정/정렬/꺼내), 파일I/O(읽기/쓰기/덧쓰기/파일존재/현재경로), TCP/UDP(TCP대기/TCP수락/TCP읽기/TCP쓰기/TCP닫기, 소켓*5), 3진 연산(삼진인코딩/디코딩/덧셈/곱). 약한 도메인 3개 — GUI(기본 렌더링만, 고도화 라이브러리 필요), SHA256(단일 해시, 스트림×), 압축(zlib 사이드카).
원칙 3: 의미 기울기 작은 키워드(글자수)부터 큰 키워드(무작위)까지 일관된 기울기. 동사 중심(추가, 정렬, 읽기) vs 형용사·명사(길이, 무작위, 현재경로). 이진탐색 패턴(찾기는 없음, 반복으로 구성) vs 스캔 우선(포함은 위치 반환).
가져오기 "라이브러리.한선" 시스템은 CROWNY_STD 환경변수가 가리키는 libs/ 디렉토리에서 소스를 검색한다. 24개 라이브러리는 다섯 개 묶음으로 분류된다:
웹 스택 (6개) 네트워크.한선 (TCP 고수준 래퍼, 요청/응답 사이클), 라우터.한선 (경로 매칭, 핸들러 등록), 미들웨어.한선 (CORS, 인증 게이트, 로깅), 인증.한선 (JWT, 기본 인증), 템플릿.한선 (문자열 보간), 뷰.한선 (HTML 컴포넌트 조합). 이들은 웹서버v2(한선씨 구현, 라이브) 또는 사이드카(Node HTTPS 브리지)와 함께 쓰인다.
데이터 스택 (6개) JSON.한선 (파싱/직렬화, 표준 구현), YAML.한선 (키-값 사전 변환), 바이트버퍼.한선 (32비트 단위 읽기/쓰기), 큐.한선 (FIFO, 셀 기반), 셀저장소.한선 (메모리 단위 저장), 셀DB.한선 (세션 영속화). 함정: 설정()은 내장함수에 있으나 배열 설정이므로, 구조체 필드 변경은 라이브러리 맵넣어 사용.
시스템 스택 (7개) 설정.한선 (config 파일 로드), 환경.한선 (env 변수 조회), 프로세스.한선 (자식 프로세스 실행, 대기), 날짜.한선 (타임스탬프 포맷), 타이머.한선 (지연 실행, 반복), 로깅.한선 (레벨별 출력), 검증.한선 (입력 타입 확인). 이 묶음의 특징: 모두 부작용을 포함하므로 함수형 문제 없음. 프로세스 사용 시 stderr 분리(> out.toau 2>&1 금지 — 구분된 stdout만 포착).
통신 & 보안 (3개) TLS.한선 (stunnel 인터페이스, 외부의존), 스타일.한선 (CSS 변수 생성), 네이티브.한선 (OS 시스템콜, macOS/Linux 조건부). 주의: TLS는 한선씨 자체 구현 없음 — stunnel 외부 의존이 4대 물리적 벽 중 하나.
검증용 라이브러리 (2개) 하드웨어.한선 (CPU/메모리 정보, 테스트 용도), 뷰.한선 (HTML 검증). 프로덕션보다는 개발·테스트 도구.
가져오기 "셀코어"는 1414줄 15모듈(팔란티어 대응)이 담긴 단일 파일다. 이것은 도서관의 세 번째 책장이다. 내장함수와 라이브러리가 "도구"라면, 셀코어는 "도구를 조직하는 사고방식"이다.
핵심 함수 4개 보존 형식:
룰 = 룰생성("조건이름", 우선순위)
룰 = 룰조건추가(룰, 슬롯, ">=", 임계값)
룰 = 룰변경추가(룰, 대상슬롯, 새값)
셀(cell)은 27트릿 큐브(T/O/A 3축)의 메모리 단위. 각 셀은 13개 슬롯을 가지며, 상태기계의 노드로 동작한다. 규칙 엔진은 셀의 슬롯 값을 조사해 조건을 판정하고, 일치한 첫 규칙의 변경(transition)을 적용한다. 이는 순차 if-else보다 우선순위 기반 의사결정을 강제한다.
규칙저장소(~/Downloads/CrownyTVM/std/규칙저장소.dat)에는 현재 1000+ 도메인 규칙이 적재되어 있고, 각 세션의 코드 작성 시 PostToolUse 훅이 로직을 규칙으로 추출해 자동 누적한다. 이는 생성엔진의 자립도를 높이는 메커니즘이다.
225개 내장함수 + 24개 라이브러리 + 셀코어의 조합으로 이미 구현된 서버:
| 서버 | 라이브러리 기반 | 실행 경로 | 상태 |
|---|---|---|---|
| 웹서버v2 | 네트워크·라우터·미들웨어 | hanseonc_high → TOAU → crownyc | 라이브 |
| DNS 서버 | 네트워크·바이트버퍼·파일I/O | 동일 | 운영 중 |
| 블록체인 | 날짜·SHA256·JSON·셀저장소 | 동일 | 시뮬레이터 완성 |
| 거래소(DEX) | 셀DB·JSON·타이머·검증 | 동일 | 7거래 테스트 완료 |
| 은행 | 셀저장소·큐·로깅·검증 | 동일 | 프로토타입 |
| 인증 서버 | 인증·JSON·테스트 | 동일 | 마이크로서비스 표준 |
| 메신저 | TCP·바이트버퍼·셀저장소·타이머 | 동일 | 5인 채팅 검증 |
| SSR 엔진 | 템플릿·뷰·스타일·네트워크 | 동일 | 프로덕션 3서비스 |
| 에이전트 | 셀코어·로깅·프로세스·검증 | 동일 | 9노드 실험 중 |
| CRNS | 네트워크·타이머·프로세스·하드웨어 | 동일 | 예약 명령어 5/5 완성 |
각 서버는 한선씨 소스 100~800줄, TOAU 바이너리 5~50KB. 재빌드 시간 <1초.
서비스 210개 등록, 라이브 배포:
한선씨 소스 파일: 8836개 (확장자 .한선, Codebase Index) 컴파일된 TOAU: 449개 (재사용 비율 = 1:20 압축)
대치 가능성 스펙트럼:
내장함수 루트, 사인, 코사인은 정수 라디안(0~6)과 고정소수점(소수점 아래 정수 배)만 지원. 루트(2) = 1 (자연반올림). 삼각함수는 단위원 위 정수 좌표. 테슬라식 스케일드정수로 정밀도 보정 가능(다음 로드맵).
TLS.한선은 호스트의 stunnel 프로세스 인터페이스. 자체 구현 없음. HTTPS 서빙은 stunnel SNI 블록 + 한선씨 웹서버 조합으로만 가능.
Gemini/Claude 호출은 Node.js 브릿지 필요. 한선씨에서 직접 HTTPS + OAuth 체인은 불가능(2, 3 때문). 약 102개 Node 서버 중 40%가 이 역할.
단일 읽기(읽기()) = 16KB 한계, 문자열 최대 길이 = 64KB. 이진 로그·영상 파일은 청킹 필수. 메모리 아레나 48M 고정(GC 없음) — 장시간 서버는 재기동 필요(현재 LaunchAgent 주기재시작).
보조 함정: 정수 오버플로 ~1410억대(64비트 경계), 나눗셈 자연반올림 규칙(|r| ≤ |b|/2)이 이진탐색의 findSpan 루프를 무한화 (NURBS 곡선은 선형스캔 우회).
알아야 피한다:
_더미 = 0 더미 선언 필수. 첫 전역변수 읽기가 쓰레기값 반환 가능(VM 스택 초기화 타이밍). 우회: 코드 첫 줄 더미 할당.
포함("abc", "a") = 1 (위치 1부터 계산). 위치 0은 "찾지 못함" 대신 -1 반환 안 함 — 1-indexed. 헤드 문자 판정은 포함() > 0.
TCP 읽기(TCP읽기())가 블로킹. 다중 연결 처리는 자식 프로세스(가져오기 "프로세스") 또는 타이머 폴링.
메모리 누수 (동적 할당 후 미삭제)는 프로세스 재시작으로만 해소. 장시간 서버는 LaunchAgent 주기재시작 필수 (crowny-sysguard.sh).
hanseonc_high input.한선 > out.toau 2>&1 금지. stderr가 TOAU에 섞이면 VM이 쓰레기 해석. 정확히: hanseonc_high input.한선 > out.toau (stdout만).
크라우니코드 생성엔진은 LLM(Claude/Gemini)이 의도(intent)를 한선씨 코드로 자동 변환하는 메커니즘. 자립도 = 패턴 매칭 + 규칙 추출의 누적이다:
강한 도메인 (≥95%)
중간 도메인 (70~90%)
약한 도메인 (<50%)
이 스펙트럼은 학습.dat (규칙저장소)에 의도→코드 매핑 2500+ 샘플로 기록되어, 새 작업마다 참조된다.
세 가지 경로:
경로 1: 순수 TOAU 직접 배포 (32%) 한선씨 소스 없이, TOAU 바이너리와 crownyc VM만. 순수 내장함수 활용. 지금 활발한 32개 마이크로서비스(메신저, DNS, 거래소).
경로 2: 라이브러리 포함 표준 빌드 (72~75%) 컴파일 시 libs/ 통합. 웹서버v2, 인증, 블록체인 포함. 가장 일반적. Node 사이드카 없음.
경로 3: Aimed 사이드카 패턴 (90%) 순수한선 주서버 (:7730) + Node HTTPS 게이트 (:8080) 표준화. TLS/외부LLM을 Node에 위탁, 한선씨는 순수 유지. 현재 aimed(주급성업/경영AI), finance(:9750), invest(:9876)에서 검증 중. 이 패턴 확산 시 JS→한선씨 전환율 90% 가능.
R1: 부동소수점 돌파 (우선순위 높음) 테슬라식 스케일드정수(정수 저장, 연산 시 자동 스케일) 도입. 루트(2) = 141421(×100000 내부 표현) → 정수 보존, 프린트 시 스케일 역변환. 이것이 4대 물리적 벽 ① 해결. 예상 내장함수 추가: 고정소수점곱, 고정소수점나누기 (2개).
R2: RPN 정통 수리 (우선순위 중간) hanseonc_rpn.c는 실제로 작동하나 문서 미완성. hanseonc_std.asm의 루트/거듭제곱/설정/꺼내/크거나같다/가져오기를 보정. 저수준 코드 생성 선택지 제공 (현재는 고수준 hanseonc_high만 권장).
R3: 사이드카 표준화 (우선순위 중간) aimed 패턴을 /Users/ef/crowny-services/registry.psv 표준으로 명시. TLS+외부LLM 서비스는 자동으로 Node 브릿지 배치. 통합 스크립트 crowny-sidecar.sh 배포.
R4: 스트리밍 캡 해제 (우선순위 낮음) 문자열 버퍼 동적 확장(현재 64KB 고정 → 128MB 상한). GC 도입(표시-정리). 이것은 VM 재설계이므로 다년 과제.
도서관은 완성품이 아니라 자라는 서가다. 225개 내장함수는 한글 정체성과 의미 기울기를 유지하고 있고, 24개 라이브러리는 웹·데이터·시스템 묶음으로 프로덕션 패턴을 담고 있다. 셀코어는 단순 함수를 넘어, "규칙으로 생각하는" 에이전트 프레임워크를 제공한다.
지금 도서관이 할 수 있는 일: 세상의 72~75%를 한선씨로 다시 쓸 수 있다. 라이브 서비스 71개와 한선씨 소스 8836개가 그 증거다.
지금 도서관이 할 수 없는 일: 부동소수점, TLS 자체 구현, 외부 LLM 직접 호출, 대용량 스트리밍. 이 4개 벽은 과장 없이 명시된다. 알고 있으면 우회할 수 있다.
다음 책장은 이미 정해져 있다. 부동소수점, 정통 RPN, 사이드카 표준, 스트리밍. 순서는 수요와 임계실현율에 따라 조율된다. 도서관은 멈춰 있지 않다.
한선씨가 "완성된 프로덕션 언어"라는 주장은 추상적이다. 이 장은 증명한다: crownyc.c v10.3이 현재 이 순간 71개의 라이브 서비스를 떠받치고 있다. 4상균형3진(T=+1데이터/O=0명령/A=-1체이닝/U=구분자) 토대 위에서 210개 서비스가 등록되고, 한선씨 소스 8836개가 TOAU 기계어로 컴파일되어 돌아간다는 사실 자체가 언어의 정체성을 말한다. 질문은 "이론적으로 가능한가"가 아니라 "실제로 무엇을 돌리고 있는가"다.
한선씨 스택은 세 층이다.
VM 계층: crownyc.c(v10.3)는 867개의 유니크 opcode를 포함한 2진 바이너리 실행기다. ISA729 정의의 대부분(489 opcode 중 436이 활성화)이 구현되었고, 정수 연산, 3진 산술, 셀 저장소, TCP 소켓, SHA256 암호화가 네이티브다. 이는 "엔터프리터"가 아니라 각 opcode가 C로 컴파일된 전개식(dispatch)이므로, 신호 처리와 같은 실시간 요구 아래서도 지연시간 예측이 가능하다.
컴파일러 계층: hanseonc_high(4380줄)는 한선씨 고수준 문법(C-like 구문)을 TOAU 바이너리로 변환한다. 225개의 내장함수(문자열·배열·파일I/O·네트워크·3진·암호·GUI)와 24개 표준라이브러리(JSON·YAML·라우터·미들웨어·검증·템플릿·셀DB·스타일)가 함께 컴파일되며, 가져오기 모듈 체계로 네임스페이스를 구성한다. RPN 정통 경로(hanseonc_std.asm, hanseonc_rpn.c)도 같은 TOAU를 생산하나, 루트·거듭제곱·설정·포함()·크거나같다·가져오기가 미구현이어서 RPN 사용자는 hanseonc_high 결과를 신뢰해야 한다.
중간 표현: TOAU는 4상 포맷의 27-트릿 큐브들로 이루어진 바이너리다. 한선씨 소스 8836개가 이미 TOAU로 번역되었고, 449개의 TOAU 파일(.toau 바이너리)이 등록 서비스를 뒷받침한다. 이는 바이너리 캐싱의 역할을 하며, 수정과 재컴파일의 주기를 단축한다.
정리: VM의 성숙도는 "동작한다"를 넘어 "성능 최적화와 확장성까지 다룬 구현"의 수준이다.
내장함수 225개의 분포를 보면 한선씨의 강점이 명확하다.
네트워크: TCP 대기·수락·읽기·쓰기, UDP 소켓 전송·수신, TLS 인증서 로드(단, TLS 암복호화 자체는 stunnel 외부의존). 71개 라이브 서비스의 대부분은 이 TCP 계층 위에서 프로토콜을 구성한다.
암호화: SHA256 네이티브, 3진 인코딩·덧셈(modulo 3^n)·곱, 압축(zlib 래핑). 블록체인 서비스(거래소·은행·메신저)는 SHA256만으로 해시체인을 구성하고, 이더리움 호환 서명은 Node 사이드카에서 처리한다.
자료저장: 셀(Cell) 저장소는 27-트릿 큐브를 키-값 구조로 저장한다. 16M 메모리 내 셀DB는 조회·설정·삭제를 O(1)에 수행하고, RWA 거래 장부처럼 최종성이 필요한 데이터는 WAL(Write-Ahead Log) 파일로 영속화한다.
에이전트: 셀코어.한선(1414줄, 15모듈)은 규칙기반 상태기계 프레임워크다. 슬롯 13개·상태 9개·전이 규칙을 선언하면, 각 이벤트마다 규칙을 적용하고 상태를 전이시킨다. 팔란티어 대응 예시 5개(분류·정렬·의사결정·필터·집계)가 기본 포함되었다.
한계:
정수 오버플로: 워드 길이 ~1410억대에서 래핑. 나눗셈 자연반올림(|r|≤|b|/2)이 이진탐색(NURBS FindSpan) 같은 루프에서 무한루프를 유발했다(버그 보고 및 선형스캔 우회로 해결됨). 이 설계는 3진 대칭을 보존하지만, C 개발자 기대와 충돌한다.
서버 구현 10종+를 실명 서비스로 매핑한다:
구체적 수치:
이는 "아키텍처 다이어그램"이 아니라 현재 프로덕션 진행상황이다.
한선씨 생태계는 자체 평가에서 자립도 70%, LLM의존 30%로 보고했다.
강(自立度 90% 이상):
약(LLM이나 외부에 의존):
이 차이는 설계 결과다. 한선씨는 "모든 것을 한다"는 언어가 아니라 "특정 영역에서 탁월하고, 나머지는 정직하게 드러낸다"는 원칙 위에 세워졌다.
현재 72~75% 즉시 대치 가능: 이미 순수 TOAU 기반 서비스 32% + JS와 공생 가능한 구조(API 호출)로 연계된 부분 40%. Node.js 제거 시 "에러"가 아니라 "기능 일부 회피"가 되는 수준.
Aimed식 사이드카 표준화로 90% 목표: 한선씨 순수 주서버(로직·저장·암호·네트워크) + JS HTTPS 브리지(외부 LLM·클라이언트 UI) 분리 패턴을 전사에 확산하면, 언어 자체는 90% 이상 한선씨가 된다. 남은 10%는 구조상 필요한 경계(호스트OS 연동·성능 프로파일링).
이 경로는 "꿈이 아니라 공정표"다. 할 일이 명시되었다.
1단: 부동소수점 없는 정수연산 (테슬라식 스케일드정수) 곱셈 결과를 스케일 인수로 보정하면, 고정점 연산을 정수로 표현할 수 있다. √2 ≠ 1이 되고, 신경망·공학 시뮬레이션이 진입 가능해진다. VM 변경은 최소화되고, 컴파일러 레벨에서 스케일 삽입만 필요하다.
2단: RPN 정통 수리 hanseonc_rpn.c는 실제로 작동하나, hanseonc_std.asm(정통 어셈블러)의 루트·거듭제곱·설정·포함()·비교연산자·가져오기 구현이 누락되었다. 이는 문서 오류가 아니라 스스로 발견한 불완전이므로, 우선순위는 높지 않지만, 정통성(RPN=정본)을 위해 수리하면 모든 경로(고수준·RPN·C 코드생성)의 증명이 완성된다.
3단: 사이드카 표준화 aimed 패턴(한선씨 :9903 순수서버 + JS :9904 HTTPS 렌더)을 모든 신규 서비스 템플릿으로 채택하고, crownycode 생성엔진의 "사이드카 골격" 산출을 자동화하면, 90% 목표는 운영 정책의 문제가 된다.
더해·반환·만약·동안·출력값·가져오기.
영어를 빌리지 않은 한국어 키워드로, 은행의 거래 장부를 기록하고, 블록체인의 해시체인을 구성하고, 메신저의 메시지 큐를 돌린다는 사실은 "언어의 자존감" 문제를 넘어선다. 세계 대부분의 소프트웨어 인프라가 영어 키워드를 가정했을 때, 한선씨는 한국어가 "도구"가 아니라 "운영체제의 신경"이 될 수 있다는 증명이다.
210개 서비스는 끝이 아니라 시작점이다. 다음 장을 쓸 차례는 다음 세대의 개발자들에게 넘어간다.
---
저자: 킴프레지던트에스케이(김선경) 감수: 크라우니VM v10.3, hanseonc_high 4380줄, 71개 라이브 서비스 현황(2026-06-22 실측)
한선씨 VM(crownyc.c v10.3)은 867개의 유니크 opcode로 동작하며, 고수준 컴파일러 hanseonc_high는 4380줄 코드로 225개 내장함수와 24개 표준라이브러리를 제공한다. 4상균형3진(T=+1 데이터/O=0 명령/A=-1 체이닝/U=가시선 너머의 비가시영역 경계) 기반 설계는 완성됐고, 생태계 배치 현황은 순수 TOAU 바이너리 32%, 즉시 대치가능 포함 72~75%다. 그러나 네 개의 물리적 경계가 남아 있다.
한선씨에는 IEEE754 부동소수점이 없다. 고정소수점과 정수만 지원하므로 루트2는 1로, 사인은 정수 라디안 입력만 받는다. 이것은 설계의 선택이 아니라 4상균형3진의 기저 특성이다. 비트 기반 부동소수는 정수와 트릿의 세계 위에서 외래 객체가 된다.
그러나 이 벽은 이미 넘기 시작했다. 2026-06-22 실증으로 고정소수점.한선 라이브러리(스케일 1000=소수 3자리)가 완성되었고, 나눗셈·루트·사인·코사인·문자열 변환을 지원하며 최대오차는 0.001이다. 테슬라의 스케일드정수 방식을 따른 이 접근은 NURBS, 동역학 시뮬레이션, 신경망 역전파 같은 실수 계산 도메인을 한선씨 생태계 내에서 닫을 수 있음을 의미한다. 첫째 벽은 현재 경계이자 다음 표준화의 대상이다.
표준라이브러리의 TLS 항목은 존재하지만, 실제 암호화 핸드셰이크와 인증서 관리는 stunnel이라는 외부 프로그램에 의존한다. 순수 한선씨로 종단간 HTTPS를 닫을 수 없는 범위를 명시한 결과다. 현재 생태계의 210개 등록 서비스 중 라이브 한선씨 VM 71개는 모두 내부 통신(TCP/UDP 소켓) 또는 stunnel 사이드카를 통한다.
이는 제약이 아니라 명확한 다음 목표의 신호다. TLS 1.3 핸드셰이크의 핵심 연산(HMAC·SHA256·타원곡선·AEAD)은 모두 정수 산술로 표현 가능하며, 한선씨의 바이트버퍼 라이브러리와 네트워크 opcode가 이미 그 무대를 제공하고 있다. 내재 TLS 커널 구현은 벽의 뒤쪽이 아니라 경계 너머의 예정된 지형이다.
Anthropic/Google Gemini 등 거대언어모델 호출은 Node.js 사이드카를 요구한다. 순수 한선씨로 HTTPS/JSON을 함께 처리하기에는 실시간성과 스트림 핸들링이 현재 미흡하다. aimed 패턴(순수 한선씨 주서버 + JS HTTPS 브리지)이 표준 회피 방식이며, 이를 정식화하면 대치율이 현재 72~75%에서 ~90%로 상승한다.
크라우니코드 생성엔진 자립도는 70%이고, 도메인별 강도는 수학 98%, 문자열 98%, 네트워크 97%, 알고리즘 91%인 반면 파일IO 74%, 자료구조 66%에 머물러 있다. 이 불균형은 약점이 아니라 깊이 파갈 경로의 지도다. 외부 LLM 의존은 현재 경계이자, 한선씨의 자립도를 높이기 위한 극복 과정의 일부다.
단일 읽기는 16KB, 문자열 최대 길이는 64KB로 고정된다. 메모리 모델이 48M 아레나에 가비지 컬렉션 없는 설계이기 때문이다. 큰 로그나 멀티미디어 텍스트를 청킹 없이 다룰 수 없으므로, 스트리밍 기반 텍스트 처리 서버는 현재 Node.js 구현이 표준이다.
그러나 이 한계는 해결 가능한 문제 영역이다. 동적 성장 메모리 모델(아레나 2배 성장·가비지 컬렉션 추가)과 스트림 바이트버퍼의 고도화는 이미 계획 단계에 있으며, 2026-06-20 벡터 VM 실증에서 배열 동적 성장이 성공적으로 검증되었다. 넷째 벽은 현재 경계이자 가장 가까운 다음 목표다.
정수 워드는 약 1410억 대에서 오버플로된다. 큰 수의 곱셈은 미리 단계축소(예: /1000 후 연산, 최종 복구)를 요구한다. 더 깊은 함정은 나눗셈이 자연반올림(|r|≤|b|/2)을 사용하기 때문에, (lo+hi)/2 식 이진탐색이 무한루프에 빠진다. NURBS FindSpan 실증 결과, 선형스캔 또는 반올림을 고려한 중간값 계산(예: lo + (hi-lo)/2)으로만 회피 가능하다. 이들 함정도 문서화된 경계이며, 각 도메인의 구현자가 정확히 알고 설계할 대상이다.
네 벽과 두 함정은 모두 2026-06-22 실측 감사로 확인된 수치다. 무장(無裝)하지 않은 사실을 표에 나란히 배치할 때, 개발자는 어디서 우회할지, 어디를 깊게 파갈지를 판단할 수 있다. 과장 없는 지도가 완성된 영토보다 낫다. 첫째 벽은 고정소수점.한선으로 이미 돌파했고, 둘째는 내재 TLS 커널로의 경로가 명확하며, 셋째는 사이드카 표준의 정식화, 넷째는 메모리 모델 고도화로 다음 이정표가 정해져 있다. 은폐되지 않은 한계가 진정한 강점의 기초다.
한선씨 VM(crownyc.c v10.3)은 867 유니크 opcode로 기능적 완성에 도달했다. 고수준 컴파일러 hanseonc_high는 4380줄, 225 내장함수, 24 표준라이브러리를 갖춘 프로덕션 표준이다. 소스 8836개, TOAU 바이너리 449개, 운영 서비스 210개 등록(라이브 크라우니VM 71 vs node 102). 언어는 생태계 안에서 이미 실행되고 있다.
그런데 4상균형3진 정수의 세계는 특정 물리적 경계에서 새로운 설계 기회를 드러낸다:
더하기: 정수 오버플로는 ~1410억 대에서 래핑, 나눗셈의 자연반올림(|r|≤|b|/2)이 이진탐색을 무한루프로 만드는 함정들. 이들은 알려진 제약으로 명시되고, 다음 메이저 버전에서 순차 제거 계획.
부동소수점을 베끼는 길은 아니다. 4상균형3진이 본래 정수의 언어라면, 그 정수의 정밀성을 극단까지 끌어올려야 한다.
스케일드 정수 연산의 실증: 테슬라가 ECU의 부동소수점을 배제하고 대신 스케일된 정수로 결정성과 안전성을 확보한 방식과 정확히 같은 발상. 이제 한선씨에서 고정소수점.한선 라이브러리로 실제 검증했다(스케일 1000 = 소수점 3자리):
위치: /Users/ef/CrownyOS/crownyc/libs/고정소수점.한선 (실행 검증완료)
이 길을 가면 부동소수점 없이도 과학계산·제어시스템·금융연산을 정수 정밀성으로 처리할 수 있다. 구상이 아니라 이미 첫 구현이 나왔다.
현 상태는 이중 표준이다. RPN 정통(hanseonc_std.asm)은 루트·거듭제곱·설정·꺼내·크거나같다·가져오기가 미구현으로 깨져 있다. 반면 RPN C판(hanseonc_rpn.c)은 실제로 작동하며 생태계 빌드가 이미 이것을 사용한다.
음(U)의 우주론적 의미: 코드에서 음을 띄어쓰기로 쓰는 것은 2진 FPGA 매핑을 위한 도구적 결정일 뿐, 음의 본래 의미는 "어디로 갈지·얼마나인지 모르는 영역"이다. 비가시선(非可視線)의 블랙홀로서, 옴(O, 화이트홀)의 대치인 이 영역이 언어의 경계 구조에 엮여 있다. 따라서 RPN 정통과 고수준의 경계, 순수 한선씨와 사이드카의 경계도 음의 개념으로 명시해야 한다 — 너머로 갈 수 없는 게 아니라, 여기서 책임을 넘기는 지점이라는 뜻이다.
방향: 문서를 hanseonc_rpn.c를 정본으로 정정하고, 두 RPN 경로의 간극을 메워 한선씨 RPN = ISA729 1:1이라는 정통 위계를 복원한다. 고수준과 RPN 둘 다 같은 TOAU 기계어를 생산하고 crownyc VM이 그것을 실행한다는 사실이 이 복원의 토대다.
사이드카 표준화: aimed 식 패턴을 정식으로 굳혀라. 순수 한선씨 주서버(포트 n) + JS HTTPS 브리지(포트 n+1)로 TLS·외부 LLM을 경계 너머로 명확히 옮긴다. 현재 순수 toau 32%, 즉시 대치 가능 72~75%인데 사이드카를 표준화하면 대치율 ~90%까지 올라간다. 후퇴가 아니라 경계의 명문화다.
16KB·64KB 캡을 푸는 구현:
크라우니코드 자립도 70% → 85%: 약한 축 두 개(파일IO 74%, 자료구조 66%)를 끌어올리는 일. 문자열·네트워크·알고리즘이 이미 97% 이상인 것처럼, 파일IO와 자료구조도 의존 비율을 낮추면 전체 의존도(현 30%)를 15% 이하로 줄일 수 있다. 경계를 그으면서 수요한 모듈만 신규 투자.
세 갈래가 한 방향을 가리킨다:
한선씨의 다음은 "남들처럼 부동소수점을 갖는 것"이 아니라 "정수의 언어로 끝까지 가는 것"이다. 4상균형3진 큐브 27트릿이 기본단위인 세계에서 부동소수점이란 본래 타자다. 대신 정수만으로 결정성·검증성·분산안전성을 확보하고, 비정수 계산은 스케일링으로 처리한다. 이것이 흉내가 아니라 본성이고, 고정소수점.한선의 첫 구현으로 이미 증명이 시작되었다. 다음 장에서는 그 코드가 말한다.