제어 구조의 관점에서 프로그래밍 언어의 설계 공간과 역사를 탐구하는 책입니다. 초기 언어의 ‘goto’에서 1960년대 구조적 프로그래밍, 명령형 언어의 제너레이터·코루틴, 함수형 언어의 컨티뉴에이션과 제어 연산자, 대수적 이펙트와 이펙트 핸들러까지 아우릅니다. 역사, 코드 예제, 이론을 결합해 프로그래밍 언어에 대한 비교적 관점을 제시하고, 대수적 이펙트와 프로그래밍 언어(PL) 분야의 최신 연구 주제들에 대한 폭넓은 입문을 제공합니다.
이 책은 제어 구조의 관점에서 프로그래밍 언어의 설계 공간과 역사를 탐험하는 여정입니다. 제어 구조는 프로그램이 자신의 실행 흐름을 제어할 수 있게 해 주는 언어적 메커니즘을 뜻합니다. 초기 프로그래밍 언어의 ‘goto’ 점프와 1960년대 구조적 프로그래밍의 등장으로부터 출발해, 이 책은 제너레이터와 코루틴과 같은 명령형 언어의 고급 제어 구조를 살펴보고, 이어 함수형 언어에서의 제어에 대한 또 다른 관점을 전개합니다. 먼저 컨티뉴에이션과 그 제어 연산자들을 다루고, 다음으로 대수적 이펙트와 이펙트 핸들러를 다룹니다. 역사, 코드 예제, 이론을 아우르며, 이 책은 프로그래밍 언어에 대한 독창적이고 비교적인 관점을 제시하고, 대수적 이펙트와 프로그래밍 언어(PL) 분야의 동시대 연구 주제들에 대한 폭넓은 입문을 제공합니다.
Cambridge University Press에서 출간 예정.
이는 Hevea로 생성된 HTML 미리보기입니다. 라이선스: CC-BY-NC-ND 4.0.
Part I: 명령형 언어를 위한 제어 구조
Part II: 함수형 언어를 위한 제어 연산자
Part III: 예외에서 대수적 이펙트와 핸들러까지
Part IV: 제어와 이펙트에 대한 추론
이 책에 실린 코드 샘플은 ZIP 아카이브로 제공되며, 아래 페이지에서도 볼 수 있습니다. 라이선스: MIT.
callcc; OCaml의 shift와 reset