콘텐츠로 이동

언어 → 컴파일러 교차학습 지도

이번에 다운로드한 공식 문서들은 서로 다른 층위에 있다. 어떤 문서는 언어 표면을 설명하고, 어떤 문서는 구현 세부를 설명하며, 어떤 문서는 빌드/툴링/ABI 같은 경계 영역을 설명한다.

이 페이지는 그 문서들을 “무엇을 배우다가 어디로 넘어가면 좋은가”라는 관점으로 다시 묶은 지도다.

한눈에 보는 연결 표

출발점 공식 문서 넘어갈 컴파일러 축 같이 읽을 위키 페이지
선언/문법/언어 규칙 TSPL → 컴파일러 교차 읽기 Parser, AST, TypeChecker Swift 컴파일러 모노레포 개요, 타입 체커 설계 및 구현, Swift 모듈 시스템, 리터럴의 타입 체킹과 추론
제네릭 문법 Compiling Swift Generics PDF 해설, Compiling Swift Generics README 해설, Generics Manifesto 해설 generic signature, conformance, specialization Compiling Swift Generics, Generic Signatures, Substitution Maps, Conformances
표현식 타입 추론 TypeChecker.md 해설 ConstraintSystem, diagnostics, solver performance 타입 체커 설계 및 구현, 진단 시스템 (Diagnostics), 컴파일러 성능 측정
값/참조 타입 의미론 Value/Reference Types → SIL 소유권 교차 읽기 ownership, ARC, memory access, layout SIL 소유권 모델 (OSSA), SIL ARC 최적화, ABI: 타입 레이아웃, Swift 런타임
중간 표현과 최적화 SIL.md 해설, Ownership SSA 해설, High-Level Optimizations in SIL 해설 SILGen, OSSA, SILOptimizer SIL (Swift Intermediate Language), SIL 인스트럭션, Swift 옵티마이저 설계, SIL 옵티마이저 패스 카탈로그
ABI와 라이브러리 진화 ABI Stability Manifesto 해설 layout, metadata, mangling, calling convention, runtime ABI 안정성, 라이브러리 진화 (Library Evolution), ABI: 타입 메타데이터, ABI: 심볼 맹글링, ABI: 호출 규약
공개 API 설계 API Design Guidelines → 컴파일러 교차 읽기 importer naming, diagnostics wording, API surface stability C에서 Swift로의 이름 변환, Swift의 C API 임포트 방식, 진단 시스템 (Diagnostics), 라이브러리 진화 (Library Evolution)
표준 라이브러리 Standard Library → 컴파일러 교차 읽기 stdlib/runtime/Builtin/SIL/ABI 표준 라이브러리 프로그래머 매뉴얼, Swift 런타임, 라이브러리 진화 (Library Evolution), 고수준 SIL 최적화
코어 라이브러리와 생태계 Core Libraries → 컴파일러 교차 읽기 modules, overlays, ObjC interop, toolchain boundaries Swift Foundation, Swift Testing, Swift 모듈 시스템, Objective-C 상호운용
빌드 시스템 / 패키지 SwiftPM 문서 → 빌드 파이프라인 교차 읽기, Driver Internals 문서 해설, Swift Compiler 공개 개요 해설 driver, llbuild, dependency analysis Swift Package Manager, Swift 컴파일러 드라이버, 의존성 분석 (증분 빌드), llbuild
진단 UX / 컴파일러 도구 Diagnostics 작성 가이드 해설, Compiler Performance 문서 해설, REPL and Debugger 해설 diagnostics infra, verifier, profiling, debugger integration 진단 시스템 (Diagnostics), 컴파일러 디버깅 가이드, 컴파일러 성능 측정
동시성 안전성 Concurrency Data Race Safety → 컴파일러 검사 교차 읽기 isolation checking, Sendable, diagnostics, ownership Swift 6 데이터 경쟁 안전성 검사, 타입 체커 설계 및 구현, 진단 시스템 (Diagnostics), SIL 옵티마이저 패스 카탈로그, 소유권 매니페스토

빠른 시작

추천 학습 경로

1. 언어 입문에서 구현으로

  1. TSPL → 컴파일러 교차 읽기
  2. Swift Compiler 공개 개요 해설
  3. TypeChecker.md 해설
  4. SIL.md 해설
  5. ABI Stability Manifesto 해설

2. 제네릭 중심 경로

  1. Compiling Swift Generics README 해설
  2. Compiling Swift Generics PDF 해설
  3. Generics Manifesto 해설
  4. TypeChecker.md 해설
  5. Generic SignaturesSubstitution MapsConformances

3. 값 의미론과 메모리 모델 경로

  1. Value/Reference Types → SIL 소유권 교차 읽기
  2. Ownership SSA 해설
  3. High-Level Optimizations in SIL 해설
  4. ABI Stability Manifesto 해설
  5. Swift 런타임

4. 라이브러리/ABI 경로

  1. Standard Library → 컴파일러 교차 읽기
  2. Core Libraries → 컴파일러 교차 읽기
  3. API Design Guidelines → 컴파일러 교차 읽기
  4. ABI Stability Manifesto 해설
  5. 라이브러리 진화 (Library Evolution)

5. 빌드/툴링 경로

  1. Swift.org Documentation 허브 해설
  2. Swift Compiler 공개 개요 해설
  3. Driver Internals 문서 해설
  4. SwiftPM 문서 → 빌드 파이프라인 교차 읽기
  5. Compiler Performance 문서 해설 / REPL and Debugger 해설

어떻게 상호교차 지식을 습득할 수 있나

  • 문법 문서를 읽다가 “왜 이런 규칙이 필요한가?”가 궁금해지면 TypeChecker, Diagnostics, SIL 계열로 이동한다.
  • 표준 라이브러리 문서를 읽다가 “이 값 의미론/성능 특성은 어떻게 구현되나?”가 궁금해지면 Ownership SSA, High-Level Optimizations in SIL, Runtime, ABI로 이동한다.
  • 패키지/빌드 문서를 읽다가 “Swift가 왜 파일 하나만 독립 컴파일하기 어려운가?”가 궁금해지면 Driver Internals, Compiler Driver, Dependency Analysis로 이동한다.
  • concurrency / Sendable / actor 같은 표면 기능을 읽다가 “이 안전성은 누가 검사하나?”가 궁금해지면 먼저 Swift 6 데이터 경쟁 안전성 검사를 보고, 그 다음 TypeChecker, Diagnostics, 관련 SIL pass 문서로 이동한다.

메모

  • package-managerconcurrency는 이번 번들 안에서는 redirect-only 파일이었다. 따라서 새 위키 페이지에서는 “파일 자체의 내용”보다 canonical 주제와 현재 위키의 연결 구조를 정리했다.
  • TSPL도 본문이 아니라 허브 페이지이므로, 이 역시 요약보다는 교차 읽기 인덱스로 다루는 편이 더 유용하다.