Ted Kaminski
About me
I finished a PhD in programming languages working for Eric Van Wyk. I worked on the Silver language and compiler. I have also developed the extensible C compiler, AbleC, using Silver.
My thesis work focuses on guaranteeing the successful composition of language extensions, specifically their semantics, into a compiler that works fully as expected. To that end, I have developed a static analysis that, applied locally to each module (language extension) in isolation from each other, will ensure the global properties necessary to ensure successful composition of any set of modules. Accompanying this, I have developed a set of principles that, when adhered to, ensure no unexpected (buggy) behavior as the result of composing any set of extensions together. These principles can be enforced with a testing-based approach with two useful properties. First, the host language imposes a battery of test cases on each extension, and so the extension developer does not need to write them. Second, and perhaps more importantly, any bug in the resulting composed compiler will in fact have a test case exposing the bug on some individual extension in isolation. In other words, there are no "gestalt" failures in the composed compiler: every bug has blame.
I am generally interested in almost every area of programming languages and compilers, with a particular interest in areas with potential impact on practice. Other hobbies include distributed systems, verification, security, design, and machine learning.
I have also participated in a number of interdisciplinary projects involving climate science, chemical engineering, high-performance computing, and modeling in aerospace engineering.
Recent happenings
- Jan 2018
- Launched a new blog. Trying a patreon model book writing project.
- Oct 2017
- Gave 3 talks at SPLASH! Phew.
- Silver 0.4 released.
- May 2017
- Thesis published: Reliably composable language extensions.
- June 1, 2016
- Thesis defended!
- Spring 2015
- Cofounded a Homotopy Type Theory reading group jointly with Math and CS students.
- Spring 2014
- AbleC released on github.
- Fall 2013
- GAANN Fellow '13-'14
- Appointed CSGSA Treasurer
- Released Silver 0.3.6.
- Spring 2013
- Thesis proposal - completed!
- Talk: "Extensibility and the history of programming languages" to CSGSA Grad Colloquium.
- Fall 2012
- Presenting "Verifiable composition of language extensions" to the SLE 2012 Doctoral Symposium.
- Presenting "Modular well-definedness analysis for attribute grammars" at SLE 2012.
- Visiting CWI in Amsterdam for a day on Oct 2nd.
- Appointed Treasurer and COGS representative for CSGSA '12-'13
- Spring 2012
- Ran the first Silver Hackathon.
- Released Silver 0.3.5. (Now hosted by Google Code.)
- Fall 2011
- Will be at Midwest Verification Day 2011 (ssshh. It's secretly two days.)
- Served as the convener for the PL seminar reading group.
- Appointed Treasurer for the CSGSA '11-'12
- Summer 2011
- Attended OPLSS again this summer.
- Attended GTTSE.
- Presented "Integrating attribute grammar and functional programming language features" at SLE 2011.
- Spring 2011
- Released Silver 0.3.2.
- Entered Silver into the LDTA 2011 tool challenge at ETAPS.
- Fall 2010
- Released Silver 0.3.1.
Invited talk: "Language specification and extension using Silver." for Adventium Labs.
Gave a talk "Objects, data types, and language extension" to CSGSA's Grad Colloquium.
- Summer 2010
- Elected Secretary of the CSGSA '10-'11
Attended OPLSS June 15-25
Competed in the ICFP programming contest on team "ooplss2010." We came in 62nd.
- Spring 2010
- Co-Instructor: CSci 1113: C/C++ for Scientists and Engineers
- Fall 2009
- GAANN Fellow '09-'10
Participated in the PFF program
- Summer 2009
- TA: CSci 1902: Structure of Computer Programming II
Elected President of the CS grad student association (CSGSA) '09-'10
- Spring 2009
- TA: CSci 4041: Algorithms & Data Structures
- Fall 2008
- TA: CSci 4041: Algorithms & Data Structures
TA: PubH 6000: e-Public Health