naming: 툴체인 바이너리를 coolc로

`cool`은 이 머신에서 이미 다른 물건이다 (프린터/리포트 멀티툴). 그 도구의
철학이 "새 도구는 서브커맨드지 별도 설치가 아니다"인데, 언어 컴파일러를
거기 얹는 것은 그 문장의 뜻이 아니다.

컴파일러 관례를 따른다 — rustc, ocamlc, tsc. 언어 이름은 coollang 그대로.
나중의 coolfmt, coolls도 같은 자리에 붙는다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZVDeU6KLuUVL3gs18Hm3E
This commit is contained in:
2026-08-30 14:53:16 +09:00
co-authored by Claude Opus 5
parent c4662ab627
commit 120ff361cf
5 changed files with 12 additions and 12 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
(executable (executable
(name main) (name main)
(public_name cool) (public_name coolc)
(libraries coollang)) (libraries coollang))
+7 -7
View File
@@ -2,13 +2,13 @@ let usage =
{|coollang toolchain {|coollang toolchain
사용법: 사용법:
cool check <file.cool>... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체) coolc check <file.cool>... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체)
cool iface <file.cool> interface 표면과 해시 출력 coolc iface <file.cool> interface 표면과 해시 출력
cool run <file.cool> typed IR 인터프리터로 실행 coolc run <file.cool> typed IR 인터프리터로 실행
cool tokens <file.cool> 토큰 덤프 (렉서 디버깅) coolc tokens <file.cool> 토큰 덤프 (렉서 디버깅)
cool ast <file.cool> 구문 트리 덤프 (파서 디버깅) coolc ast <file.cool> 구문 트리 덤프 (파서 디버깅)
cool deps <file.cool> 외부 참조 목록 (모듈의 의존 표면) coolc deps <file.cool> 외부 참조 목록 (모듈의 의존 표면)
cool version 버전 출력 coolc version 버전 출력
|} |}
let report_errors errors = let report_errors errors =
+2 -2
View File
@@ -289,8 +289,8 @@ Generics (철학 2에서 파생):
- move/affinity 검사, capability use 규칙, affinity 전이 - move/affinity 검사, capability use 규칙, affinity 전이
- effect 변수 (effect 다형성) - effect 변수 (effect 다형성)
- interface artifact + hash 기반 incremental invalidation - interface artifact + hash 기반 incremental invalidation
- cool check - coolc check
- 얇은 typed IR + tree-walking interpreter (cool run 대용) - 얇은 typed IR + tree-walking interpreter (coolc run 대용)
※ IR을 미루면 non-IR 전제가 스며들어 재작성 됨. 지금, 얇게. ※ IR을 미루면 non-IR 전제가 스며들어 재작성 됨. 지금, 얇게.
※ effect check가 fast path 예산 안에 드는지가 사활 → 최우선 검증 대상 ※ effect check가 fast path 예산 안에 드는지가 사활 → 최우선 검증 대상
+1 -1
View File
@@ -1,6 +1,6 @@
(* v0 파이프라인. (* v0 파이프라인.
parse -> name resolution -> type check -> effect/capability check parse -> name resolution -> type check -> effect/capability check
-> interface artifact + hash -> (cool run 시) 얇은 typed IR -> interpreter -> interface artifact + hash -> (coolc run 시) 얇은 typed IR -> interpreter
현재 구현된 단계: 어휘 분석, 구문 분석. *) 현재 구현된 단계: 어휘 분석, 구문 분석. *)
+1 -1
View File
@@ -31,7 +31,7 @@
capability를 직접 정의해야 메서드의 effect가 알려지고, 05는 affinity의 뿌리가 capability를 직접 정의해야 메서드의 effect가 알려지고, 05는 affinity의 뿌리가
capability라 자원 타입을 정의해야 affine임이 유도된다. capability라 자원 타입을 정의해야 affine임이 유도된다.
01~04, 06, 07은 `cool check`를 통과한다 (exit 0). 01~04, 06, 07은 `coolc check`를 통과한다 (exit 0).
파서는 첫 오류에서 멈춘다(오류 복구 미구현). 타입 검사기는 오류를 전부 모은다. 파서는 첫 오류에서 멈춘다(오류 복구 미구현). 타입 검사기는 오류를 전부 모은다.