Lowent 매뉴얼

Lowent 매뉴얼

계약과 효과로 짜는 시스템 프로그래밍

초안(draft)

v0.2.0 · 최종 수정 2026-09-15

rubidus

이 책은 로우엔트 언어의 입문서이자 사용 설명서입니다.

대상 독자는 프로그래밍을 조금 해 본 사람부터,
C·Rust 같은 시스템 언어를 쓰는 사람까지입니다.

이 판은 초안(draft)이다. 쪽 번호가 붙은 찾아보기와 정확한 조판은 PDF를 보라.
책 내용에 궁금한 것이 있으면 질문 게시판에 남겨 주세요. 시간이 되는 대로 아는 범위 안에서 답하겠습니다. 한국어와 영어 어느 쪽이든 괜찮습니다. 오탈자나 틀린 내용은 이슈 쪽이 낫습니다.

목차

제1부 — 시작

제2부 — 값과 흐름

제3부 — 데이터

제4부 — 계약과 효과

제5부 — 메모리

제6부 — 추상

제7부 — 동시성

제8부 — 바깥 세계

제9부 — 표준 라이브러리

제10부 — 근거: 무엇이 증명되었나

부록과 찾아보기

부록 A — 낱말과 내장 연산부록 B — 진단 찾아보기부록 C — 흔한 실수와 고치는 법부록 D — 문법 요약부록 E — 표준 라이브러리 모듈strings — 문자열 뷰 연산strbuf — 소유 문자열 버퍼와 널 종단 cstrfmt — 호출자의 버퍼에 조립하는 포매팅utf8 — UTF-8 코드포인트 순회와 검증utf16 — UTF-16 서로게이트 산술unicode — 유니코드 속성 표codec — 16 진과 base64regex — 역추적하지 않는 Pike VM 정규식term — 터미널 렌더러(순수 절반)sortlib — 제자리 quicksortsortgen — 제네릭 정렬(비교는 타입이 들고 온다)searchlib — 정렬된 슬라이스의 이진 탐색hashmap — u64 → u64 해시 맵strmap — 문자열 키 해시 맵vecs — 호출자가 버퍼를 드는 성장 바이트 벡터spsc — 락 없는 SPSC 링 버퍼hash — 해시(해시맵 자리 · 손상 검출 · SHA-256)math — 부동소수 수학random — 난수(재현되는 열 · OS 엔트로피)hmac — HMAC-SHA256 과 HKDFchacha — ChaCha20 스트림 암호poly — Poly1305 한 번 쓰는 인증자aead — ChaCha20-Poly1305 봉인과 개봉x25519 — 곡선 위의 키 합의aes — AES-128 블록 암호gcm — AES-128-GCM 인증 암호crypto_hw — 기계가 도와주는 암호 셈bigint — 큰수 모듈러 산술rsa — RSASSA-PSS 검증p256 — NIST P-256 곡선과 ECDSA 검증p384 — NIST P-384 곡선과 ECDSA 검증ecdsa — ECDSA P-256 서명 생성ed25519 — Ed25519 서명 검증der — DER 최소 파서pem — PEM 봉투 벗기기x509 — X.509 인증서 읽기verify — 인증서 서명과 체인의 한 마디 확인tls13 — TLS 1.3 의 계산 부품tlssrv — TLS 1.3 서버 핸드셰이크tlscli — TLS 1.3 클라이언트 핸드셰이크http — HTTP/1.1 요청 파서soa — SoA 배치 시범: 필드마다 배열 하나allocs — 얼로케이터 trait 과 범프 · 기본 얼로케이터pool — 세대 핸들 블록 풀shard — 저장소를 쪼개는 접근 단위budget — 핸들 비트 예산과 세대 한 바퀴wire — 한 낱말을 칸으로 나눠 쓰기flags — 이름 붙은 켬 · 끔을 한 낱말에segarena — 고정 크기 세그먼트 아레나pagecache — 페이지 id 와 고정 커서growvec — 자가성장 바이트 벡터vecgen — 제네릭 자가성장 벡터 vec t amapgen — 제네릭 해시맵 table k vnodelist — 고정 intrusive 목록segview — 조각 뷰의 커서 · 총길이 · 펴기lifemode · lifeatom — 값이 언제 끝나는가io — 슬라이스 위의 스트림 읽기outbuf — 버퍼링 출력, flush 망각은 컴파일 오류files — 파일 · 디렉터리 스트림, close 망각은 컴파일 오류tty — 터미널 입력net — 소켓(TCP loopback · 프로세스 안 한 쌍)clock — 시각과 마감trust — 신뢰 저장소에서 믿는 뿌리 찾기찾아보기

저작권과 연락처

지은이
rubidus
연락
rubidus@gmail.com
저장소
github.com/rubidus-api/lowent_lang
판
v0.2.0 — 초안(draft)
최종 수정
2026-09-15

본문 — 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스(CC BY-NC-SA 4.0). 출처를 밝히면 자유롭게 공유하고 고칠 수 있으나, 영리 목적 이용은 허용되지 않으며, 고친 결과물에는 같은 라이선스를 적용해야 합니다.
creativecommons.org/licenses/by-nc-sa/4.0/

예제 코드 — MIT 라이선스. 자유롭게 가져다 쓰실 수 있습니다. 예제가 쓰는 로우엔트 컴파일러와 표준 라이브러리는 저장소의 MIT 라이선스를 따릅니다.

이 책의 모든 코드 시연은 실제로 lowentc 로 검사·실행해 얻은 출력을 그대로 인쇄한 것입니다. 조판은 Typst로 했습니다.

이 책은 계속 고쳐집니다. 지금 읽고 계신 것은 위 번호의 판이고, 그 뒤로도 오류 수정과 내용 보강이 이어집니다. 오류 신고와 수정 제안은 저장소에서 받습니다.