컴퓨터는 0과 1, 두 갈래로만 센다. 그런데 셈의 본질엔 세 번째 자리가 있다 — "예", "아니오", 그리고 "아직 모른다". 한선씨는 이 세 번째 갈래를 바닥부터 쌓아 만든 언어다.
비트가 0/1 두 값이듯, 트릿(trit)은 세 값을 가진다. 한선씨는 균형3진을 쓴다:
비유: 양팔저울. 추를 양쪽에 놓으니 음수가 자연히 표현된다(별도 부호비트 불필요).
음(U)은 단순한 띄어쓰기가 아니다. 코드에선 FPGA 2진 매핑의 도구로 띄어쓰기가 되지만, 본질은 "갈 곳을 모르는 에너지의 경계" — 블랙홀처럼. 옴(0, 화이트홀)이 가시선 위 세계라면, 음(−0)은 그 바깥 비가시선을 다루는 영역. 코드는 이 우주론적 의미를 도구로 구현한 것이다.
양팔저울처럼 한 자리가 티·옴·타를 모두 담으니, 부호가 숫자 안에 내장된다. 가장 깊은 이점은 나눗셈에서 드러난다:
한선씨 나눗셈은 가장 가까운 정수로 떨어진다(|나머지|≤|제수|/2).
균형3진의 대칭성에서 자연히 나오는 규칙. 100÷2=50 같은 보통 셈은 정확하지만, 이진탐색 (lo+hi)/2는 올림으로 튀어 무한루프에 빠질 수 있다 — 정직한 한 줄 경고.
한선씨의 기본 단위는 큐브 = 27트릿(3×3×3).
트릿이 글자라면 큐브는 낱말. 이 큐브 위에서 ISA729 명령어 체계(489개 구현 opcode)가 돈다. crownyc.c v10.3 VM이 27트릿 큐브를 네이티브로 실행한다.
큐브는 4상(티/옴/타/음)이 공존하는 최소 구조다. 각 면이 한 상(狀)을 지배하면서도, 중심의 음(−0)이 무한능력 경계로 작동한다.
3진 산술은 종이 위 이론이 아니다. VM에 내장된 함수:
삼진인코딩, 삼진디코딩삼진덧셈, 삼진곱이들이 실제로 작동한다(v10.3 기준).
2진 논리는 참/거짓 둘뿐. 한선씨는 Kleene 3값 논리:
데이터가 없을 때 거짓으로 억지 떨어뜨리지 않고 '모름'을 그대로 들고 셈한다. 한글 키워드 모르면이 언어에 들어가 있다.
이것이 왜 중요한가? 현실의 셈은 불완전하다. 세 번째 갈래를 정직하게 비워 두면, 그 빈 자리가 스스로를 채워간다.
3진의 아름다움에도 물리적 벽이 있었다(과거형):
부동소수점 벽은 "못하는 것"이 아니라 "다른 방법으로 이미 넘기 시작한 경계"다.
세 갈래의 셈은 흑백을 버리는 게 아니라, 흑과 백 사이에 '모름'의 자리를 정직하게 비워 두는 일이다.
트릿이 큐브가 되고, 큐브가 489 opcode VM 위에서 돌며, 4상(티/옴/타/음)이 함께 작동하는 언어가 실제로 물리 벽을 넘으면서 진화한다. 다음은 이 큐브 위에 어떻게 명령어와 언어가 쌓이는가.
첫 번째 책은 선물이에요. 가입하면 100맘을 드리니까, 두 번째 책부터 자유롭게 읽을 수 있어요. 친구를 추천하면 50맘도 생겨요.