[CS320] 7. 가비지 컬렉션
Reference Counting, Mark & Sweep, Two-Space Collection 세 가지 가비지 컬렉션 알고리즘의 원리와 장단점을 비교합니다.
Reference Counting, Mark & Sweep, Two-Space Collection 세 가지 가비지 컬렉션 알고리즘의 원리와 장단점을 비교합니다.
지연 평가(Lazy Evaluation)를 지원하는 LFAE와 Continuation Passing Style(CPS)의 개념을 통해 프로그래밍 언어의 제어 흐름을 이해합니다.
Box를 통한 힙 메모리 모델(BFAE)과 가변 변수(MFAE)를 도입하며, Store를 이용한 상태 관리 인터프리터를 구현합니다.
조건 분기(if0)와 재귀 함수(Rec)를 지원하는 RFAE 언어를 설계하고, mkRec 패턴과 var 키워드를 이용한 재귀 구현 기법을 살펴봅니다.
일급이 아닌 함수(F1VAE)에서 일급 함수와 클로저(FVAE, FAE)까지 발전하는 과정과 Static/Dynamic Scope의 차이를 살펴봅니다.
가장 단순한 산술식 언어(AE)부터 변수 바인딩을 지원하는 VAE까지, 인터프리터를 단계적으로 확장하며 프로그래밍 언어의 기초를 쌓습니다.
Scala의 Trait, Class, Case Class 차이점과 프로그래밍 언어를 설계하는 체계적인 방법론(Syntax, Semantics)을 정리합니다.