한선씨 고수준 컴파일러(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, 사이드카 표준, 스트리밍. 순서는 수요와 임계실현율에 따라 조율된다. 도서관은 멈춰 있지 않다.
첫 번째 책은 선물이에요. 가입하면 100맘을 드리니까, 두 번째 책부터 자유롭게 읽을 수 있어요. 친구를 추천하면 50맘도 생겨요.