Eric Van Wyk
Professor
Department of Computer Science and Engineering
University of Minnesota
4-192 Keller Hall
200 SE Union Street
Minneapolis, MN 55455, USA
Office hours: MWF 2:25pm - 3:25pm
Contact:
evw@umn.edu, +1 612 625 0329,
Office:
6-203 Keller Hall
(map)
Research Interests
My primary research interests are in programming languages, especially extensible languages. Of special interest are declarative specifications of languages and language tools. More information is available on my group's web page: Minnesota Extensible Language Tools.
In investigating extensible languages and compilers we have developed two systems for the design and implementation of languages.
-
The first is Silver, an attribute grammar specification language (and its supporting tools) that allows for the highly-modular specification of languages.
-
The second is Copper, an integrated parser and context-aware scanner generator. Context aware scanners use information from the parser to be more discriminating in the tokens they return. This often simplifies the grammar as tokens don't need to be overloaded and used in multiple contexts. This turns out to be quite useful in extensible language specification.
More information about Silver and Copper, including papers, documentation, and downloads can be found on the Silver web page and the Copper web page.
Publications can be found here.
Research Opportunities
I am always looking for motivated students with an interest in programming languages. If you are interested in the mix of theoretical and practical work that often occurs in research in programming languages then please get in contact with me.Teaching
I teach courses on programming languages, compilers, and principles of programming, most recently- CSci 5980/8980 Special Topics: Functional Algorithm Design and Calculation, Spring 2021.
- CSci 2041: Advanced Programming Principles, Fall 2014, Spring 2017, Spring 2018, Spring 2019, Fall 2020, Fall 2021, Spring and Fall 2022, Spring and Fall 2024.
- CSci 5106: Programming Languages, Fall 2013, Fall 2015, Fall 2016, Fall 2018
- CSci 5161: Introduction to Compilers, Spring 2015, Spring 2019
- CSci 5980/8980: Topics in Functional Programming, Spring 2016
Recent Service
- Chair of University of Minnesota Faculty Senate Committee on Academic Freedom and Tenure
- General Chair: 17th ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE 2018).
- Founding Steering Committee Member and current chair: ACM SIGPLAN International Conference on Software Language Engineering (SLE)
- Steering Committee Member: ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE).
- Vice Chair: IFIP Working Group 2.11: Program Generation, June, 2013 until May 2019
- General Chair: 6th International Conference on Software Language Engineering (SLE 2013).
- Program Committee Chair/Co-chair:
- International Workshop on Languages Descriptions, Tools, and Applications (LDTA 2011). Co-chair with Claus Brabrand.
- First International Conference on Software Language Engineering (SLE 2008). Co-chair with Dragan Gasevic.
- Recent Program Committees:
- OOPSLA 2019
- ECOOP 2016, External Review Committee member
- DSLDI 2018
- SLE 2017
- PEPM 2016
- GTTSE 2015
- GEMOC 2015, 3rd Workshop on The Globalization of Modeling Languages
- Onward! 2015
- SLE 2014
- PEPM 2014
- HILT 2013, ACM SIGAda Conference on High Integrity Languages Technology
- SLE 2012
- HILT 2012
- PEPM 2012