Eric Holk

I am a Ph.D. student at Indiana University. My research interests relate to designing and implementing programming languages that facilitate the production of safer, more reliable, and better performing software. I am part of the Center for Research in Extreme Scale Technologies (CREST).

Projects

Harlan

Harlan is a high level language for general purpose GPU computing. For more information, see our ParCo paper. IU students may visit our internal GitHub page at https://github.iu.edu/eholk/harlan.

Elegant Weapons

Elegant Weapons is an R6RS Scheme library for creating compilers that generate C code. This project is used by Harlan.

Rust

Rust is a new systems language that is being developed by Mozilla. It features a powerful type system, explicit control over garbage collection, and safe communication primitives. I worked at Mozilla as an intern during the summers of 2011 and 2012. My biggest contributions were implementing the task system as well as designing and implementing the pipes communication system.

Computational Photography

My advisor, Andrew Lumsdaine, is interested in photography with plenoptic cameras. These cameras capture directional information, which enables things such as refocusing an image after the fact. I have produced a web-based refocusing algorithm in WebGL. See the live demo!

Kanor

Kanor is a declarative language for specifying collective communication patterns in MPI programs. See our PADL paper for more information.

Publications

    1. William Byrd
    2. Eric Holk
    3. Daniel Friedman
    miniKanren, Live and Untagged Sep. 2012 Workshop on Scheme and Functional Programming (SFP12) PDF
    1. Eric Holk
    2. William Byrd
    3. Nilesh Mahajan
    4. Jeremiah Willock
    5. Arun Chauhan
    6. Andrew Lumsdaine
    Declarative Programming for GPUs Sep. 2011 International Conference on Parallel Computing (ParCo 2011) PDF
    1. Eric Holk
    2. William E. Byrd
    3. Jeremiah Willcock
    4. Torsten Hoefler
    5. Arun Chauhan
    6. Andrew Lumsdaine
    Kanor — A Declarative Language for Explicit Communication Jan. 2011 Thirteenth International Symposium on Practical Aspects of Declarative Languages (PADL'11) PDF