위키 키워드 연결망¶
이 페이지는 Swift 컴파일러 위키의 키워드를 허브처럼 묶어 주는 안내 페이지다. 어떤 단어를 봤을 때 “이건 어느 페이지로 가야 하지?” 싶은 경우, 검색보다 먼저 여기서 키워드 덩어리를 따라가면 이동이 훨씬 빨라진다.
빠른 이동¶
- Swift 전체 최상위 허브: Swift 전체 지도
- Swift 언어 입구: Swift 언어 개요
- 언어 ↔ 구현 브리지: Swift와 Swift Compiler의 관계
- Swift 타입 시스템 허브: Swift 타입 시스템
- Swift 소유권·메모리 모델 허브: Swift 소유권·메모리 모델
- Swift Concurrency 허브: Swift Concurrency 전체 구조
- Swift actor isolation·Sendable 허브: Swift actor isolation·Sendable
- Swift Task·Executor·Runtime 허브: Swift Task·Executor·Runtime
- Swift Evolution / proposal history 허브: Swift Evolution / proposal history
- Value Semantics / COW proposal 교차 읽기: Value Semantics / COW proposals → ownership/runtime 교차 읽기
- In-Place Operations proposal 교차 읽기: In-Place Operations proposal → writeback / COW / optimizer-friendly API 교차 읽기
- Optimizer Effects proposal 교차 읽기: Optimizer Effects / Unsupported Optimization Attributes proposals → SIL optimizer / function attributes 교차 읽기
- Declaration Type Checker proposal 교차 읽기: Declaration Type Checker proposal → 현대 Sema 교차 읽기
- Compilation Model / WMO proposal 교차 읽기: Compilation Model / WMO proposals → driver 교차 읽기
- Enums / EnumStyle proposal 교차 읽기: Enums / EnumStyle proposals → 타입 시스템 / API 표면 / 레이아웃 교차 읽기
- TypeState proposal 교차 읽기: TypeState proposal → 초기화 / lifetime / ownership 경계 교차 읽기
- Option Sets proposal 교차 읽기: Option Sets proposal → importer / layout / value-type API 교차 읽기
- ObjC interop proposal 교차 읽기: ObjC interop proposal → importer / dispatch 교차 읽기
- Initialization/Accessors proposal 교차 읽기: Initialization / Accessors proposals → property model 교차 읽기
- Initializer Inheritance proposal 교차 읽기: Initializer Inheritance proposal → 현대 init 모델 교차 읽기
- Constructors/ClassConstruction proposal 교차 읽기: Constructors / ClassConstruction proposals → 현대 init 모델 교차 읽기
- Remote Mirrors proposal 교차 읽기: Remote Mirrors proposal → runtime/reflection 교차 읽기
- stdlib/runtime/compiler 허브: 표준 라이브러리·런타임·컴파일러의 관계
- 툴체인 전체 지도: Swift 툴체인 스택
- 매크로/도구 허브: Swift 매크로·도구 스택
- 학습 로드맵: Swift Compiler 학습 스택
- 언어 → 구현 전체 지도: 언어 → 컴파일러 교차학습 지도
- 입문 루트: Swift 컴파일러 입문 7일 코스
- 압축 인덱스 / 빠른 점프: 파워유저 시작점
- 용어 정의: 컴파일러 용어 사전
- 큰 그림: Swift 컴파일러 모노레포 개요
0. Swift 전체 / 학습 허브¶
핵심 키워드: - Swift 전체 - Swift 언어 - Swift ↔ Compiler - type system - ownership/memory - concurrency architecture - actor/sendable - task/executor/runtime - evolution/proposal history - value semantics/COW - in-place operations - optimizer effects - declaration type checker proposal - compilation model/WMO - enums/enum style - typestate - option sets - objc interop proposal - initialization/accessors - initializer inheritance - constructors/class construction - remote mirrors - stdlib/runtime/compiler - toolchain stack - macro/tooling - learning stack
추천 이동:
- Swift를 언어/도구/생태계 전체로 보고 싶다 → Swift 전체 지도
- 언어 개념부터 컴파일러로 넘어가고 싶다 → Swift 언어 개요 / Swift와 Swift Compiler의 관계
- 타입 시스템을 generics/ABI/runtime까지 연결해서 보고 싶다 → Swift 타입 시스템
- enum을 ADT/레이아웃/API 표면까지 함께 보고 싶다 → Enums / EnumStyle proposals → 타입 시스템 / API 표면 / 레이아웃 교차 읽기 / Swift 타입 시스템 / ABI: 타입 레이아웃
- ownership, borrow, lifetime, ARC를 한 장으로 먼저 잡고 싶다 → Swift 소유권·메모리 모델
- typestate, invalidation, useful lifetime 같은 문제를 보고 싶다 → TypeState proposal → 초기화 / lifetime / ownership 경계 교차 읽기 / Swift 소유권·메모리 모델
- task, actor, executor, Sendable까지 동시성 전체 그림을 먼저 잡고 싶다 → Swift Concurrency 전체 구조
- actor 경계와 Sendable 오류를 집중해서 보고 싶다 → Swift actor isolation·Sendable
- task / executor / runtime 실행 모델을 보고 싶다 → Swift Task·Executor·Runtime
- 왜 이런 기능들이 이런 방향으로 왔는지 설계 역사를 보고 싶다 → Swift Evolution / proposal history
- 기본 타입/표준 라이브러리/런타임이 어떻게 한 몸인지 보고 싶다 → 표준 라이브러리·런타임·컴파일러의 관계
- SwiftSyntax / 매크로 / SourceKit 도구축을 보고 싶다 → Swift 매크로·도구 스택
- 무엇을 어느 정도까지 배워야 할지 알고 싶다 → Swift Compiler 학습 스택
- LLVM / driver / SwiftPM / LLDB 같은 주변 스택까지 보고 싶다 → Swift 툴체인 스택
- 반복 방문자용 압축 인덱스에서 바로 점프하고 싶다 → 파워유저 시작점
1. 구문 / 파싱 / 표면 문법¶
핵심 키워드: - module - literal - access control - macro/tooling - SwiftSyntax - LSP
추천 이동: - 표면 문법과 도구층을 같이 보고 싶다 → Swift 매크로·도구 스택 - 문법을 읽다가 AST/구문 트리 쪽으로 가고 싶다 → swift-syntax - 파싱 이후 의미 부여 단계가 궁금하다 → 타입 체커 설계 및 구현 - 소스 편집기 기능과 연결해서 보고 싶다 → SourceKit-LSP
2. 타입 체커 / 진단 / 의미 분석¶
핵심 키워드: - type system - Sema - constraint system - 진단 시스템 (Diagnostics) - Request Evaluator - actor isolation / Sendable
추천 이동: - 타입 시스템 전체 지형부터 보고 싶다 → Swift 타입 시스템 - 오버로드/리터럴/클로저 추론이 궁금하다 → 타입 체커 설계 및 구현 - 오류 메시지가 어떻게 만들어지는지 궁금하다 → 진단 시스템 (Diagnostics) / Diagnostics 작성 가이드 해설 - Swift 6 concurrency 안전성 검사가 궁금하다 → Swift 6 데이터 경쟁 안전성 검사
3. 제네릭 / 프로토콜 / 시그니처¶
핵심 키워드: - type system - generic signature - archetype - substitution map - conformance - Compiling Swift Generics
추천 이동: - 구현 중심으로 빠르게 들어가고 싶다 → Compiling Swift Generics - 상위 개념부터 정리하고 싶다 → Swift 타입 시스템 - 비전/설계까지 보고 싶다 → 제네릭 매니페스토 / Generics Manifesto 해설 - ABI와 연결해 보고 싶다 → ABI: 제네릭 시그니처
4. SIL / Ownership / 메모리 모델 / 최적화¶
핵심 키워드: - SIL - raw SIL - canonical SIL - ownership/memory - OSSA - function attributes - @_transparent - @_semantics - in-place operations proposal - optimizer effects proposal - mandatory passes
추천 이동: - SIL 전체 구조부터 보고 싶다 → SIL (Swift Intermediate Language) - ownership/memory 큰 그림부터 잡고 싶다 → Swift 소유권·메모리 모델 - ownership/borrow와 연결해서 보고 싶다 → SIL 소유권 모델 (OSSA) / 소유권 매니페스토 - 최적화 패스 지형을 보고 싶다 → Swift 옵티마이저 설계 / SIL 옵티마이저 패스 카탈로그 - 함수 속성과 인라이닝 정책이 궁금하다 → SIL 함수 속성 / @_transparent 속성 - mutating/non-mutating API와 writeback/COW 관계를 보고 싶다 → In-Place Operations proposal → writeback / COW / optimizer-friendly API 교차 읽기 / Value Semantics / COW proposals → ownership/runtime 교차 읽기 - optimizer effect model과 언더스코어 속성 역사가 궁금하다 → Optimizer Effects / Unsupported Optimization Attributes proposals → SIL optimizer / function attributes 교차 읽기 / 고수준 SIL 최적화
5. 동시성 / 격리 / 전송 가능성¶
핵심 키워드: - concurrency architecture - actor/sendable - task/executor/runtime - Strict Concurrency - Sendable - actor isolation - SendNonSendable - FlowIsolation
추천 이동: - 전체 구조부터 보고 싶다 → Swift Concurrency 전체 구조 - actor 경계와 sendability만 먼저 보고 싶다 → Swift actor isolation·Sendable - 실행 모델과 executor hop을 보고 싶다 → Swift Task·Executor·Runtime - 설정/마이그레이션부터 보고 싶다 → Swift 6 데이터 경쟁 안전성 검사 - 공식 문서 입구에서 들어가고 싶다 → Concurrency Data Race Safety → 컴파일러 검사 교차 읽기 - ownership과 같이 보고 싶다 → Swift 소유권·메모리 모델 / SIL 소유권 모델 (OSSA) / Value/Reference Types → SIL 소유권 교차 읽기
6. ABI / 런타임 / 라이브러리 진화¶
핵심 키워드: - stdlib/runtime/compiler - ABI stability - type layout - metadata - reabstraction - mangling - Swift 런타임 - fragile / resilient - swiftmodule serialization
추천 이동: - 표준 라이브러리, runtime, compiler 관계를 한 번에 보고 싶다 → 표준 라이브러리·런타임·컴파일러의 관계 - concurrency runtime 축을 보고 싶다 → Swift Task·Executor·Runtime - 큰 그림 선언문부터 보고 싶다 → ABI Stability Manifesto 해설 - 레이아웃/메타데이터로 바로 들어가고 싶다 → ABI: 타입 레이아웃 / ABI: 타입 메타데이터 - 공개 API 변화와 바이너리 호환성을 보고 싶다 → 라이브러리 진화 (Library Evolution)
7. 드라이버 / 빌드 / 도구 / 패키지 생태계¶
핵심 키워드: - driver - WMO - 의존성 분석 (증분 빌드) - swift-driver (패키지) - llbuild - Swift Package Manager - Swift Build - SourceKit-LSP - build/test/debug - CMake / Ninja - lit / FileCheck - LLDB - LLVM backend
추천 이동: - Swift가 왜 모듈 전체를 의식하며 컴파일되는지 보고 싶다 → Swift 컴파일러 드라이버 / 의존성 분석 (증분 빌드) - 구현 패키지 구조를 보고 싶다 → swift-driver (패키지) / llbuild - 실제 기여 루프를 한 장으로 보고 싶다 → Swift Compiler 빌드·테스트·디버그 스택 - 빌드 인프라를 먼저 이해하고 싶다 → CMake와 Ninja 빌드 인프라 - 테스트 문화와 패턴 검증을 보고 싶다 → lit와 FileCheck / Swift 테스트 가이드 - 디버깅과 백엔드 추적까지 이어서 보고 싶다 → LLDB와 Swift 디버깅 / LLVM 백엔드와 Swift - 성능과 연결해서 보고 싶다 → 컴파일러 성능 측정 / Compiler Performance 문서 해설
8. Interop / Importer / C++¶
핵심 키워드: - Clang Importer - Objective-C 상호운용 - C에서 Swift로의 이름 변환 - Swift의 C API 임포트 방식 - option sets proposal - C++ 상호운용성 개요 - C++를 Swift에서 사용하기 - C++에서 Swift 호출하기
추천 이동:
- C/ObjC/C++ 연결의 상위 구조를 먼저 보고 싶다 → Clang Importer
- C/ObjC 선언이 Swift 이름으로 어떻게 들어오는지 보고 싶다 → C에서 Swift로의 이름 변환 / Swift의 C API 임포트 방식
- NS_OPTIONS / OptionSet importer 역사가 궁금하다 → Option Sets proposal → importer / layout / value-type API 교차 읽기 / Swift의 C API 임포트 방식
- C++를 Swift에서 쓰는 쪽이 궁금하다 → C++를 Swift에서 사용하기
- Swift를 C++에서 호출하는 쪽이 궁금하다 → C++에서 Swift 호출하기
9. 기여 / 테스트 / CI¶
핵심 키워드: - Swift 개발 환경 설정 - 컴파일러 개발 팁 - 컴파일러 개발 FAQ - Swift 테스트 가이드 - 지속적 통합 (CI) - 첫 번째 Pull Request 제출
추천 이동: - 개발 환경을 처음 세팅한다 → Swift 개발 환경 설정 - 빠른 실무 팁이 먼저 필요하다 → 컴파일러 개발 팁 / 컴파일러 개발 FAQ - 테스트 작성/실행 체계를 익히고 싶다 → Swift 테스트 가이드 / Swift Testing - PR를 실제로 열기 전 흐름을 보고 싶다 → 첫 번째 Pull Request 제출 / 지속적 통합 (CI)
10. 라이브러리 / 프레임워크 / 실사용 생태계¶
핵심 키워드: - stdlib/runtime/compiler - macro/tooling - standard library - Foundation - Collections - NIO - Swift Testing - Core Libraries
추천 이동: - 언어 표면의 기본 타입이 어떻게 구현/진화되는지 보고 싶다 → Standard Library → 컴파일러 교차 읽기 / 표준 라이브러리·런타임·컴파일러의 관계 - 크로스 플랫폼 라이브러리 경계를 보고 싶다 → Core Libraries → 컴파일러 교차 읽기 - 매크로/IDE/formatter 도구축까지 함께 보고 싶다 → Swift 매크로·도구 스택 - 테스트/툴링 생태계와 연결해서 보고 싶다 → Swift Testing / SourceKit-LSP
11. 설계 비전 / proposal / 역사¶
핵심 키워드: - evolution/proposal history - Generics Manifesto - Ownership Manifesto - ABI Stability Manifesto - library evolution - swift-generics-manifesto
추천 이동:
- 설계 비전과 proposal history를 한 장으로 먼저 보고 싶다 → Swift Evolution / proposal history
- 제네릭 쪽 장기 비전부터 보고 싶다 → 제네릭 매니페스토 / Generics Manifesto 해설
- ownership 방향을 보고 싶다 → 소유권 매니페스토 / Swift 소유권·메모리 모델
- ABI / resilience 방향을 보고 싶다 → ABI Stability Manifesto 해설 / 라이브러리 진화 (Library Evolution)
- value semantics / COW proposal이 실제 ownership/runtime과 어떻게 이어졌는지 보고 싶다 → Value Semantics / COW proposals → ownership/runtime 교차 읽기
- in-place operations proposal이 writeback/COW와 어떻게 이어졌는지 보고 싶다 → In-Place Operations proposal → writeback / COW / optimizer-friendly API 교차 읽기
- optimizer effects proposal이 _effects/specialization/inlining과 어떻게 이어졌는지 보고 싶다 → Optimizer Effects / Unsupported Optimization Attributes proposals → SIL optimizer / function attributes 교차 읽기
- declaration type checker proposal이 현대 Sema와 어떻게 이어졌는지 보고 싶다 → Declaration Type Checker proposal → 현대 Sema 교차 읽기
- build model / WMO proposal이 driver와 어떻게 이어졌는지 보고 싶다 → Compilation Model / WMO proposals → driver 교차 읽기
- enums / enum style proposal이 타입 시스템/API 표면/레이아웃과 어떻게 이어졌는지 보고 싶다 → Enums / EnumStyle proposals → 타입 시스템 / API 표면 / 레이아웃 교차 읽기
- typestate proposal이 initialization/lifetime/ownership 경계와 어떻게 이어졌는지 보고 싶다 → TypeState proposal → 초기화 / lifetime / ownership 경계 교차 읽기
- option sets proposal이 importer/layout과 어떻게 이어졌는지 보고 싶다 → Option Sets proposal → importer / layout / value-type API 교차 읽기
- ObjC interop proposal이 importer/dynamic dispatch와 어떻게 이어졌는지 보고 싶다 → ObjC interop proposal → importer / dispatch 교차 읽기
- initialization/accessors proposal이 property model과 어떻게 이어졌는지 보고 싶다 → Initialization / Accessors proposals → property model 교차 읽기
- initializer inheritance proposal이 현재 init 상속 규칙과 어떻게 이어졌는지 보고 싶다 → Initializer Inheritance proposal → 현대 init 모델 교차 읽기
- constructors/class construction rejected proposal이 왜 지금 모델로 이어졌는지 보고 싶다 → Constructors / ClassConstruction proposals → 현대 init 모델 교차 읽기
- remote mirrors proposal이 runtime/reflection과 어떻게 이어졌는지 보고 싶다 → Remote Mirrors proposal → runtime/reflection 교차 읽기
자주 같이 움직이는 키워드 묶음¶
- literal → contextual type → constraint solving → diagnostics
- 리터럴의 타입 체킹과 추론 → 타입 체커 설계 및 구현 → 진단 시스템 (Diagnostics)
- generic signature → archetype → substitution map → conformance
- Generic Signatures → Archetypes → Substitution Maps → Conformances
- raw SIL → canonical SIL → ownership → optimization pass
- SIL (Swift Intermediate Language) → SIL 소유권 모델 (OSSA) → Swift 옵티마이저 설계 → SIL 옵티마이저 패스 카탈로그
- value/reference → ownership/memory → OSSA → runtime
- Value/Reference Types → SIL 소유권 교차 읽기 → Swift 소유권·메모리 모델 → Ownership SSA 해설 → Swift 런타임
- async/await → task/actor → executor → safety checking
- Swift Concurrency 전체 구조 → Swift 6 데이터 경쟁 안전성 검사 → SIL 옵티마이저 패스 카탈로그 → Swift 런타임
- actor isolation → Sendable → FlowIsolation
- Swift actor isolation·Sendable → Swift 6 데이터 경쟁 안전성 검사 → SIL 옵티마이저 패스 카탈로그
- Task → TaskGroup → executor → runtime
- Swift Task·Executor·Runtime → Swift Concurrency 전체 구조 → Swift 런타임
- manifesto → proposal history → implementation
- 제네릭 매니페스토 → Swift Evolution / proposal history → 타입 체커 설계 및 구현
- proposal → implementation (ownership/runtime)
- Value Semantics / COW proposals → ownership/runtime 교차 읽기 → Swift 소유권·메모리 모델 → Swift 런타임
- proposal → implementation (in-place/value API)
- In-Place Operations proposal → writeback / COW / optimizer-friendly API 교차 읽기 → Value Semantics / COW proposals → ownership/runtime 교차 읽기 → SIL 메모리 접근 모델
- proposal → implementation (optimizer/effects)
- Optimizer Effects / Unsupported Optimization Attributes proposals → SIL optimizer / function attributes 교차 읽기 → 고수준 SIL 최적화 → Swift 옵티마이저 설계
- proposal → implementation (Sema)
- Declaration Type Checker proposal → 현대 Sema 교차 읽기 → 타입 체커 설계 및 구현 → Request Evaluator
- proposal → implementation (driver/WMO)
- Compilation Model / WMO proposals → driver 교차 읽기 → Swift 컴파일러 드라이버 → 의존성 분석 (증분 빌드)
- proposal → implementation (enum/type system)
- Enums / EnumStyle proposals → 타입 시스템 / API 표면 / 레이아웃 교차 읽기 → Swift 타입 시스템 → ABI: 타입 레이아웃
- proposal → implementation (typestate/lifetime)
- TypeState proposal → 초기화 / lifetime / ownership 경계 교차 읽기 → Initialization / Accessors proposals → property model 교차 읽기 → Swift 소유권·메모리 모델
- proposal → implementation (OptionSet/importer)
- Option Sets proposal → importer / layout / value-type API 교차 읽기 → Swift의 C API 임포트 방식 → Clang Importer
- proposal → implementation (ObjC interop)
- ObjC interop proposal → importer / dispatch 교차 읽기 → Clang Importer → Objective-C 상호운용
- proposal → implementation (property model)
- Initialization / Accessors proposals → property model 교차 읽기 → SIL 초기화 규약 → SIL 메모리 접근 모델
- proposal → implementation (initializer inheritance)
- Initializer Inheritance proposal → 현대 init 모델 교차 읽기 → Initialization / Accessors proposals → property model 교차 읽기 → SIL 초기화 규약
- proposal → implementation (constructors/class construction)
- Constructors / ClassConstruction proposals → 현대 init 모델 교차 읽기 → Initializer Inheritance proposal → 현대 init 모델 교차 읽기 → 실패 가능한 이니셜라이저 (init?)
- proposal → implementation (reflection/runtime)
- Remote Mirrors proposal → runtime/reflection 교차 읽기 → ABI: 타입 메타데이터 → Swift 런타임
- Sendable → actor isolation → FlowIsolation → ownership
- Swift 6 데이터 경쟁 안전성 검사 → SIL 옵티마이저 패스 카탈로그 → SIL 소유권 모델 (OSSA)
- ABI stability → metadata → runtime → library evolution
- ABI 안정성 → ABI: 타입 메타데이터 → Swift 런타임 → 라이브러리 진화 (Library Evolution)
- driver → dependency analysis → llbuild → SwiftPM
- Swift 컴파일러 드라이버 → 의존성 분석 (증분 빌드) → llbuild → Swift Package Manager
- build-script/설정 → CMake/Ninja → lit/FileCheck → LLDB
- Swift 개발 환경 설정 → CMake와 Ninja 빌드 인프라 → lit와 FileCheck → LLDB와 Swift 디버깅
- Clang Importer → C API 임포트 → 이름 변환 → C++ interop
- Clang Importer → Swift의 C API 임포트 방식 → C에서 Swift로의 이름 변환 → C++ 상호운용성 개요
- 표면 문법 → macro/tooling → SwiftSyntax → SourceKit-LSP
- Swift 언어 개요 → Swift 매크로·도구 스택 → swift-syntax → SourceKit-LSP
- 표준 라이브러리 → runtime → ABI → compiler
- 표준 라이브러리·런타임·컴파일러의 관계 → Swift 런타임 → ABI 안정성 → Swift 컴파일러 모노레포 개요
- Swift 전체 지도 → 언어 개요 → Swift ↔ Compiler → 툴체인 스택 → 학습 스택
- Swift 전체 지도 → Swift 언어 개요 → Swift와 Swift Compiler의 관계 → Swift 툴체인 스택 → Swift Compiler 학습 스택