[English/[Japanese]
Advanced Course in Programming Languages
A course held in the
Department of Computer Science, Graduate School of Systems and Information Engineering,
University of Tsukuba, Japan.
News
- There is no class on May 22. Study the handouts and papers linked from this page.(スライド)を自習してください。(2018/05/18)
- This page has been created. (2018/03/04)
Index
-
syllabus
- Kameyama will be teaching the first 5 weeks,
on the foundation of programming
languages including functional programming and type theory.
Although this lectures will
be given in Japanese, course materials will be written in English
so that students who don't understand Japanese can understand
the course.
- Week 1: Basics of Program Generation
slide No.1
- Weeks 2-3: Techniques of Program Generation
last year's slide No.2,
last year's slide No.3 (subject to change)
- Paper 1 (general):
"A Gentle Introduction to Multi-Stage Programming", Walid Taha,
Domain-Specific Program Generaton, Internatoinal Seminar, Dagstuhl,
pp.30-50,
2003.
pdf
- Paper 2 (general):
"GoMeta! A Case for Generative Programming and DSLs in Performance
Critical Systems",
Tiark Rompf et al.
Proc. of the 1st Summit on Advances in Programming Languages (SNAPL'15)
pp.238-261,
2015.
pdf
- Paper 3 (case study):
"Terra: A Multi-Stage Langauage for High-Performance Computing",
Zachary DeVito et al., PLDI'13, 2013.
pdf
- Paper 4 (case study):
"Halide: A Language and Compiler for Optimizing Parallelism,
Locality, and Recomputation in Image Processing Pipelines",
Jonathan Ragan-Kelly et al., PLDI'13, 2013.
pdf
- Paper 5 (case study):
"Functional Pearl: A SQL to C Compiler in 500 Lines of Code",
Tiark Rompf and Nada Amin, Proc. ICFP'15, 2015.
pdf
- Reference
-
Dowek & Levy, "Introduction to the Theory of Programming Languages"
Undergraduate Topics in Computer Science, Springer, 2011.
- Benjamine C. Pierce, "Types and Programming Languages", MIT Press, 2002.
Yukiyoshi Kameyama (kam[at]cs . tsukuba . ac . jp)
Hiroshi Unno (uhiro[at]cs . tsukuba . ac . jp)