Language Design – Internals of Kotlin

Advisors Yannick Stade, Dr. Michael Petter
Location 02.07.014
Time see schedule below
Module IN2107

Content

This seminar will focus on the internals of specific language features in the Kotlin compiler in all its gory details. Attendees will gain an in-depth understanding of how these features are implemented, including the design decisions and trade-offs that were made. Topics covered may include type inference, null safety, and lambdas, also advanced features such as coroutines and inline functions. For some features, we might be able to also point to alternative solutions, implemented in other languages and examine these. By the end of the seminar, attendees will have a deeper understanding of the Kotlin programming language and a better idea of the design process of programming languages.

Schedule

The seminar will be organized as a mini-conference. Initially, you will be presented the topics of interest with a short summary of each topic at the virtual kick-off teleconference. Then you have time till Friday ot the same week to submit your personal topic preferences as a ranking of each topic with a value from 1 (best) – 10 (worst). Then, you work out your topic, with assistance from an individual advisor. After submitting your draft paper you will be asked to review some drafts of your fellow students. The received feedback should be incorporated before submitting the final version of the paper. The final talks will be held en-block within one day at the end of the semester.

Pre-course meeting Jan 31st, 3pm – 4pm 02.07.014
Kick-off meeting with topic revealing Apr 3rd, 2pm – 4pm 02.07.014
Submission of topic ratings Apr 11th, 11pm per mail to petter@in.tum.de
Introductory meeting Apr 19th, 4pm – 6pm 02.07.014
Individual meetings to discuss literature choice and outline individually  
Draft paper submission Jun 14th, 11pm  
Review submisson Jun 21th, 11pm  
Final paper submission Jun 28th, 11pm  
Talks Jul 12th, 8am – 6pm 01.13.010

Material

Slides

Template

Use this LaTeX template for your article. The teomplate is adopted from the ACM template.