Picture of Jeremy Siek

Jeremy G. Siek
Assistant Professor
Dept. of Electrical, Computer, and Energy Engineering
University of Colorado at Boulder

Office: ECOT 342
Lab: ECEE 1B61A
Vita, Google Scholar
PGP Public Key
Blog
Twitter

Katie & Jeremy
         Home         Research         Publications         
 

Jeremy's research interests include generic programming, programming language design, type systems, logic, compilation, and high-performance computing. Jeremy created the gradual typing approach to mixing static and dynamic typing and he was one of the architects of the concepts feature that dramatically missed making into the next C++ standard. Jeremy authored the Boost Graph Library and several other libraries in Boost.

Recent Blog Posts
New Papers
  • New: Gradual Typing for Mutable Objects with Michael Vitousek and Shashank Bharadwaj. (draft) [pdf]
  • New: Interpretations of the Gradually-Typed Lambda Calculus with Ronald Garcia. In Scheme and Functional Programming 2012. [pdf], [code]
  • Reliable Generation of High-Performance Matrix Algebra with Thomas Nelson, Geoffrey Belter, Elizabeth Jessup, and Boyana Norris. Submitted to ACM TOMS. (revised from the Arxiv version) [pdf]
  • New: Modular Type-Safety Proofs in Agda with Christopher Schwaab. Accepted for PLPV 2013. (revised from the Arxiv version) [pdf]
  • Modelyze: a Gradually Typed Host Language for Embedding Equation-Based Modeling Languages with David Broman. [pdf]
  • Well-typed Islands Parse Faster with Erik Silkensen. [arxiv]
  • Effects for Funargs with Michael M. Vitousek and Jonathan D. Turner.
  • The F Machine, an abstract machine for System F. Description and mechanized type safety proof (in Isabelle). Dec. 2011. (updated Jan 2)
  • The C++0x "Concepts" Effort. [At Springer]
  • Proposal for Constrained Generics and Module Extensions for Chapel. Feb. 2011 [pdf]
  • Blame for All. In POPL 2011. [bib]
Teaching Students
  1. Weiyu Miao (Generic Programming, Metaprogramming, ECEE)
  2. John Michalakes (High-Performance Computing for Wind Energy Research, CS)
  3. Thomas Nelson (Optimization of linear algebra kernels, CS)
  4. Michael M. Vitousek (Gradual Python, CS)
  5. Chris Wailes (Chapel and Parallel Programming Languages, CS)
Alumni
  1. Geoffrey Belter (Apple)
    Ph.D. thesis: Efficient Generation of Sequences of Dense Linear Algebra through Auto-Tuning
  2. Shashank Bharadwaj (VMware)
  3. Jonathan Turner (Microsoft)
  4. Erik Silkensen (Ph.D. student at Northeastern Univ.)
  5. Neelam Agrawal (National Instruments)
  6. Sri Teja Basava (National Instruments)
  7. Ian Karlin (Postdoc at Lawrence Livermore National Laboratory)
  8. Justin Gottschlich (Intel Research Labs)
    Ph.D. thesis: Invalidating Transactions: Optimizations, Theory, Guarantees, and Unification
  9. Moss Prescott (Terma Software Labs)
    M.S. thesis: Speaking for the Trees: a New (Old) Approach to Languages and Syntax
  10. Christopher Schwaab
  11. David Broman (Post-doc at UC Berkeley)
    Ph.D. thesis: Meta-Languages and Semantics for Equation-Based Modeling and Simulation

Interesting Quotes

If you can't solve a problem, then there's an easier problem you can solve: find it. - George Polya
Writing is best done by coinduction! - Lynn Winebarger
Resources
  • Advice regarding writing research papers, giving research talks, and writing grant proposals, from one of the best, Simon Peyton-Jones.
  • Cheat sheet for getting a job in Embedded Software (created by Qualcomm). PDF.
  • Guidelines for Ph.D. Preliminary Exam Computer Engineering URL.
  • Guidelines for Ph.D. Preliminary Exam Computer Science (in Programming Languages) pdf.