プログラミング言語の設計とその実装について, 実例を取り上げながら, 講義と演習を行う. プログラミング言語の基本的な目標は生産性 (簡単に正しいプログラムが書けること, 特にメモリ安全性) と性能 (その言語で書いたプログラムが高速に実行できること) である. そのための仕組み (型システム, メモリ管理), 簡単な言語処理系の作り方について講義する. 演習用プログラミング言語の実例としてJulia, Go, OCaml, Rustを取り上げる.
Talks and exercises on the design and implementation of programming languages with actual programming languages. Two basic goals of programming languages are productivity (the programmer can easily write correct, esp. memory-safe, programs) and performance (programs can be executed efficiently). The lecture part will cover mechanisms to achieve these goals (type systems and memory management) and how to create a simple compiler. The exercise part will cover Julia, Go, OCaml, and Rust as examples of actual programming languages.