← 목록

크라우니어 v10.1 릴리스 노트

pkg.crowny.org — @crowny/crownyc@10.1.0 download.crowny.org — crownyc.html

설치 및 빌드

bash# npm 설치
npm install @crowny/crownyc --registry https://pkg.crowny.org

# 소스 빌드 (macOS/Linux, 의존성 0)
cc -O2 -o crownyc crownyc.c
cc -O2 -o hanseonc_high hanseonc_high.c

# WASM 빌드
cc -O2 -o crowny-wasm wasm_emit.c

# macOS GUI
cc -O2 -DCROWNY_WINDOW -framework Cocoa -lpthread -o crownyc_win crownyc.c crownyc_window.m

실행

bash# 한선씨 코드 컴파일 + 실행
./hanseonc_high hello.한선 > hello.toau
./crownyc run hello.toau

# REPL (대화형)
./crownyc

# WASM 변환
./hanseonc_high app.한선 > app.toau && ./crowny-wasm app.toau app.wasm

# 테스트
./hanseonc_high tests/고수준_기본.한선 > /tmp/t.toau && ./crownyc run /tmp/t.toau

한선씨 문법 (빠른 참조)

javascript가져오기 "문자열.한선"              // 라이브러리 임포트

변수 이름 = "크라우니"              // 변수
함수 인사(누구) {                   // 함수
    반환 "안녕, " + 누구 + "!"
}
출력값(인사(이름))                  // 출력

만약 (글자수(이름) > 3) {           // 조건 (3방향)
    출력값("긴 이름")
} 모르면 {                          // v10: Kleene 3값 분기
    출력값("모름")
} 아니면 {
    출력값("짧은 이름")
}

동안 (x > 0) { x = x - 1 }        // 반복

v10.x 핵심 변경

1. 순수 벡터형 3진 엔진 (v10.0)

2. Kleene 3값 논리 (v10.0)

3. UTF-8 완전 지원 (v9.6 → v10.1)

4. REPL 고도화 (v10.1)

크라우니> 출력값(문자열변환(3 + 4))
7
크라우니> 완성 출력
  출력값
크라우니> 히스토리
  1 출력값(문자열변환(3 + 4))

5. 46개 표준 라이브러리 (v10.0+)

기존 24개 + 신규 22개:

범주라이브러리
문자열/데이터문자열, JSON, YAML, 정규식, 직렬화, 검증, 날짜, 설정, 환경, 큐
네트워크네트워크, 라우터, 미들웨어, HTTP클라이언트, 웹소켓, TLS, 인증서, 인증
보안암호화, 암호
시스템파일시스템, 프로세스, 프로세스관리, 메모리, 시그널, 드라이버, 타이머
UI뷰, 스타일, 네이티브, 컴포넌트, DOM
데이터셀저장소, 셀DB, 바이트버퍼
동시성동시성, 채널, 이벤트루프
수학/그래픽행렬, 넙스, 이미지, 하드웨어
개발로깅, 템플릿, 에러처리, 테스트

6. WASM v10 호환 (v10.1)

테스트 결과 (207/208, 99.5%)

스위트결과
고수준_기본38/38
고수준_제어23/23
고수준_구조체19/19
고수준_재귀16/16
고수준_라이브러리18/18
고수준_v10회귀26/27
고수준_신규라이브러리13/13
RPN 산술40/40
RPN 소켓14/14

핵심 파일

파일역할
crownyc.c (~370KB)VM + 729 opcode + 3진 ALU + REPL
hanseonc_high.c (~80KB)고수준 컴파일러 (222 내장함수)
wasm_emit.c (~18KB)WASM 변환기 (55+ opcode)
libs/*.한선 (46개)표준 라이브러리
tests/*.한선 (9개)207개 테스트 케이스

222개 내장함수 (주요)

글자수 글자 부분 포함 문자열변환 숫자변환           // 문자열 (UTF-8)
길이 추가 설정 정렬 뒤집기                         // 배열
출력값 입력 읽기 쓰기 덧쓰기 파일존재              // I/O
거듭제곱 루트 사인 코사인 로그 무작위 절댓값        // 수학
TCP대기 TCP수락 TCP읽기 TCP쓰기 TCP닫기            // TCP
소켓생성 소켓바인드 소켓보내기 소켓받기 DNS질의     // 소켓/UDP
셀생성 셀연결 셀읽기 셀설정 맵생성 맵넣어 맵꺼내   // 셀/맵
SHA256 삼진인코딩 삼진디코딩 삼진덧셈 삼진곱        // 암호/3진
화면초기화 점찍기 사각형 선긋기 원그리기            // GUI
추적시작 추적끝 성능시작 성능끝                     // 디버그

관련 링크