From 120ff361cfbcd012b4bc4189e548bac12c346ffb Mon Sep 17 00:00:00 2001 From: coolguy Date: Sun, 30 Aug 2026 14:53:16 +0900 Subject: [PATCH] =?UTF-8?q?naming:=20=ED=88=B4=EC=B2=B4=EC=9D=B8=20?= =?UTF-8?q?=EB=B0=94=EC=9D=B4=EB=84=88=EB=A6=AC=EB=A5=BC=20coolc=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cool`은 이 머신에서 이미 다른 물건이다 (프린터/리포트 멀티툴). 그 도구의 철학이 "새 도구는 서브커맨드지 별도 설치가 아니다"인데, 언어 컴파일러를 거기 얹는 것은 그 문장의 뜻이 아니다. 컴파일러 관례를 따른다 — rustc, ocamlc, tsc. 언어 이름은 coollang 그대로. 나중의 coolfmt, coolls도 같은 자리에 붙는다. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_019ZVDeU6KLuUVL3gs18Hm3E --- bin/dune | 2 +- bin/main.ml | 14 +++++++------- docs/thesis.md | 4 ++-- lib/driver.ml | 2 +- samples/README.md | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bin/dune b/bin/dune index a8ab755..010f9ab 100644 --- a/bin/dune +++ b/bin/dune @@ -1,4 +1,4 @@ (executable (name main) - (public_name cool) + (public_name coolc) (libraries coollang)) diff --git a/bin/main.ml b/bin/main.ml index 5aaebe6..73c8d0f 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -2,13 +2,13 @@ let usage = {|coollang toolchain 사용법: - cool check ... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체) - cool iface interface 표면과 해시 출력 - cool run typed IR 인터프리터로 실행 - cool tokens 토큰 덤프 (렉서 디버깅) - cool ast 구문 트리 덤프 (파서 디버깅) - cool deps 외부 참조 목록 (모듈의 의존 표면) - cool version 버전 출력 + coolc check ... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체) + coolc iface interface 표면과 해시 출력 + coolc run typed IR 인터프리터로 실행 + coolc tokens 토큰 덤프 (렉서 디버깅) + coolc ast 구문 트리 덤프 (파서 디버깅) + coolc deps 외부 참조 목록 (모듈의 의존 표면) + coolc version 버전 출력 |} let report_errors errors = diff --git a/docs/thesis.md b/docs/thesis.md index 91f024c..cd3c93a 100644 --- a/docs/thesis.md +++ b/docs/thesis.md @@ -289,8 +289,8 @@ Generics (철학 2에서 파생): - move/affinity 검사, capability use 규칙, affinity 전이 - effect 변수 (effect 다형성) - interface artifact + hash 기반 incremental invalidation -- cool check -- 얇은 typed IR + tree-walking interpreter (cool run 대용) +- coolc check +- 얇은 typed IR + tree-walking interpreter (coolc run 대용) ※ IR을 미루면 non-IR 전제가 스며들어 재작성 됨. 지금, 얇게. ※ effect check가 fast path 예산 안에 드는지가 사활 → 최우선 검증 대상 diff --git a/lib/driver.ml b/lib/driver.ml index e7f6b8b..032a40a 100644 --- a/lib/driver.ml +++ b/lib/driver.ml @@ -1,6 +1,6 @@ (* v0 파이프라인. parse -> name resolution -> type check -> effect/capability check - -> interface artifact + hash -> (cool run 시) 얇은 typed IR -> interpreter + -> interface artifact + hash -> (coolc run 시) 얇은 typed IR -> interpreter 현재 구현된 단계: 어휘 분석, 구문 분석. *) diff --git a/samples/README.md b/samples/README.md index 9a451f9..5c8f15d 100644 --- a/samples/README.md +++ b/samples/README.md @@ -31,7 +31,7 @@ capability를 직접 정의해야 메서드의 effect가 알려지고, 05는 affinity의 뿌리가 capability라 자원 타입을 정의해야 affine임이 유도된다. -01~04, 06, 07은 `cool check`를 통과한다 (exit 0). +01~04, 06, 07은 `coolc check`를 통과한다 (exit 0). 파서는 첫 오류에서 멈춘다(오류 복구 미구현). 타입 검사기는 오류를 전부 모은다.