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:
@@ -1,4 +1,4 @@
|
||||
(executable
|
||||
(name main)
|
||||
(public_name cool)
|
||||
(public_name coolc)
|
||||
(libraries coollang))
|
||||
|
||||
+7
-7
@@ -2,13 +2,13 @@ let usage =
|
||||
{|coollang toolchain
|
||||
|
||||
사용법:
|
||||
cool check <file.cool>... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체)
|
||||
cool iface <file.cool> interface 표면과 해시 출력
|
||||
cool run <file.cool> typed IR 인터프리터로 실행
|
||||
cool tokens <file.cool> 토큰 덤프 (렉서 디버깅)
|
||||
cool ast <file.cool> 구문 트리 덤프 (파서 디버깅)
|
||||
cool deps <file.cool> 외부 참조 목록 (모듈의 의존 표면)
|
||||
cool version 버전 출력
|
||||
coolc check <file.cool>... 타입/effect/capability 검사 (import를 따라 모듈 그래프 전체)
|
||||
coolc iface <file.cool> interface 표면과 해시 출력
|
||||
coolc run <file.cool> typed IR 인터프리터로 실행
|
||||
coolc tokens <file.cool> 토큰 덤프 (렉서 디버깅)
|
||||
coolc ast <file.cool> 구문 트리 덤프 (파서 디버깅)
|
||||
coolc deps <file.cool> 외부 참조 목록 (모듈의 의존 표면)
|
||||
coolc version 버전 출력
|
||||
|}
|
||||
|
||||
let report_errors errors =
|
||||
|
||||
+2
-2
@@ -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 예산 안에 드는지가 사활 → 최우선 검증 대상
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
현재 구현된 단계: 어휘 분석, 구문 분석. *)
|
||||
|
||||
|
||||
+1
-1
@@ -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).
|
||||
|
||||
파서는 첫 오류에서 멈춘다(오류 복구 미구현). 타입 검사기는 오류를 전부 모은다.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user