4541.780 Topics in Programming Languages: Staged Programming

이광근 Kwangkeun Yi
Programming Research Lab./CSE/Seoul National University

강의: 월/수 14:30-15:45 @ 302동 319-1호

Objectives

이 강의의 목표는 최근 web/autonomous/generic 프로그래밍 시스템의 원리로 정리되고 있는 "다단계 프로그래밍 언어 시스템"(staged programming language system)의 연구를 학생들이 진행할 수 있도록 준비시키는 것이다. 특히, 다음의 논문

    "A Polymorphic Modal Type System for Lisp-like Multi-Staged Languages", Ik-soon Kim, Kwangkeun Yi, Cristiano Calcagno, POPL 2006

을 시작으로 관련 연구들을 익힌다.

이 과정에서 프로그래밍 언어 분야에서 축적된 주요 내용과 그것을 엄밀하게 표현하고 응용하는 방법을 익히는 과정을 필요에 따라 밟아간다.

Contents

  • Prerequisite: 4541.664A Program Analysis
  • Preliminaries: operational semantics, lambda calculus, static type system, structural induction, static analysis
  • Staged Programming: staged programming, staged type system, static analysis for staged programs

Homeworks

Project Topics

closure analysis for SPL

exception analysis for SPL

type system for destructive SPL

compilation technique for SPL

realistic interpreter for SPL

CPS transformation for SPL

autonomous programs in SPL

typing implementation for SPL

value analysis for SPL

useless code elim. for SPL

Resources

© Copyright 2006, 이 광근