전문 · CHAPTER 07

다음 — 부동소수점 없는 미래

거기까지 온 VM, 여기서 새 경계를 본 지점

한선씨 VM(crownyc.c v10.3)은 867 유니크 opcode로 기능적 완성에 도달했다. 고수준 컴파일러 hanseonc_high는 4380줄, 225 내장함수, 24 표준라이브러리를 갖춘 프로덕션 표준이다. 소스 8836개, TOAU 바이너리 449개, 운영 서비스 210개 등록(라이브 크라우니VM 71 vs node 102). 언어는 생태계 안에서 이미 실행되고 있다.

그런데 4상균형3진 정수의 세계는 특정 물리적 경계에서 새로운 설계 기회를 드러낸다:

  1. 부동소수점 비선택: 4상균형3진이 정수의 언어라는 본성. 그 대신 스케일된 정수로 정밀성을 획득하는 길을 택함.
  2. TLS 경계 명문화: stunnel이 아니라 표준 사이드카 아키텍처(순수 한선씨 주 포트 + JS HTTPS 브리지). 경계를 그으면 90% 이상 대치 가능.
  3. LLM 호출 원격화: Gemini·Claude 사이드카. 순수 한선씨의 책임은 로직, 외부 호출은 경계 너머.
  4. 버퍼 천정: 단일 읽기 16KB, 문자열 64KB 캡은 세그먼트 스트리밍 설계로 극복 가능 경로 확보.

더하기: 정수 오버플로는 ~1410억 대에서 래핑, 나눗셈의 자연반올림(|r|≤|b|/2)이 이진탐색을 무한루프로 만드는 함정들. 이들은 알려진 제약으로 명시되고, 다음 메이저 버전에서 순차 제거 계획.

경계 ① 돌파: 스케일드 정수의 실제 구현

부동소수점을 베끼는 길은 아니다. 4상균형3진이 본래 정수의 언어라면, 그 정수의 정밀성을 극단까지 끌어올려야 한다.

스케일드 정수 연산의 실증: 테슬라가 ECU의 부동소수점을 배제하고 대신 스케일된 정수로 결정성과 안전성을 확보한 방식과 정확히 같은 발상. 이제 한선씨에서 고정소수점.한선 라이브러리로 실제 검증했다(스케일 1000 = 소수점 3자리):

  • 루트·지수·로그: 뉴턴-랩슨, 이진탐색, 테일러급수. 루트2 = 정확히 1414(스케일 1000) 또는 1414213(스케일 1000000).
  • 삼각함수: 정수 라디안 대신 스케일된 라디안(rad × 1000000). 범위 검증(0 ~ 6283185)과 함께 CORDIC 또는 LUT 계산. 최대오차 ±0.001.
  • 문자열·나눗셈: 스케일된 결과의 직렬화 및 부분연산.
  • 결정성: 매 실행 동일한 비트 결과. 블록체인 검증, 회계 감사, 분산 시뮬레이션에 직결되는 자산.

위치: /Users/ef/CrownyOS/crownyc/libs/고정소수점.한선 (실행 검증완료)

이 길을 가면 부동소수점 없이도 과학계산·제어시스템·금융연산을 정수 정밀성으로 처리할 수 있다. 구상이 아니라 이미 첫 구현이 나왔다.

경계 ② ③ 명문화: RPN 정통과 사이드카 표준

현 상태는 이중 표준이다. 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 캡을 푸는 구현:

  • 세그먼트 스트리밍: 다중 청크 처리 루프로 버퍼를 반복 채우고 쏟아내기. 형식 변환(JSON 생성, 마크다운 쓰기)에 경로 제공.
  • 링 버퍼: 순환 구조로 메모리 재할당 회피.
  • GC 갱신: 현재 48M 고정 아레나에서 필요시 압축·회수로 동적 확장.

크라우니코드 자립도 70% → 85%: 약한 축 두 개(파일IO 74%, 자료구조 66%)를 끌어올리는 일. 문자열·네트워크·알고리즘이 이미 97% 이상인 것처럼, 파일IO와 자료구조도 의존 비율을 낮추면 전체 의존도(현 30%)를 15% 이하로 줄일 수 있다. 경계를 그으면서 수요한 모듈만 신규 투자.

결: 본성으로 끝까지

세 갈래가 한 방향을 가리킨다:

  1. 스케일드 정수로 부동소수점 없이 정밀성 획득 → 경계 ① 돌파(이미 구현).
  2. RPN 정통 수리 + 사이드카 표준화 → 경계 ② ③ 명문화.
  3. 스트리밍·GC·자립도 개선 → 경계 ④ 완화.

한선씨의 다음은 "남들처럼 부동소수점을 갖는 것"이 아니라 "정수의 언어로 끝까지 가는 것"이다. 4상균형3진 큐브 27트릿이 기본단위인 세계에서 부동소수점이란 본래 타자다. 대신 정수만으로 결정성·검증성·분산안전성을 확보하고, 비정수 계산은 스케일링으로 처리한다. 이것이 흉내가 아니라 본성이고, 고정소수점.한선의 첫 구현으로 이미 증명이 시작되었다. 다음 장에서는 그 코드가 말한다.

내 맘 –

독자 게시판 — 함께 읽고 남기는 곳

불러오는 중…

크라우니 책방에 가입하고 무료로 읽기

첫 번째 책은 선물이에요. 가입하면 100맘을 드리니까, 두 번째 책부터 자유롭게 읽을 수 있어요. 친구를 추천하면 50맘도 생겨요.