Nate Nystrom

Photo of Nate
Assistant Professor
Faculty of Informatics
University of Lugano (USI)
Email

PGP Key
[key]
Phone
Office: +41 58 666 43 10
Fax: +41 58 666 45 36
Office
SI-203
Hours: by appointment
Mailing address:
Facoltà di Informatica
Via Giuseppe Buffi 13
CH-6904 Lugano
Switzerland

Research

My research interests include programming languages, compilers, tools, and methodologies for constructing safe, secure, and efficient systems.

I am always looking to recruit talented and enthusiastic students at all levels—PhD, Master's, and Bachelor's—to work with me on research. If you're interested in programming languages, compilers, or software engineering, please .

Students

  • Igor Moreno Santos
  • Luis Mastrangelo (co-advised with Matthias Hauswirth)
  • Ilya Yanok

Former students

  • Ernst Salzmann (master, Datameer)
  • Mohammad Fouad Marzouk (master, Autodesk)

Research projects

Skinner
Skin your abstract syntax trees
Tapir
A language for safe kernel extensions
Piuma
A refactoring library for Scala compiler plugins.
Firepile
GPU programming in Scala
Funicular
A shared-memory concurrency library for Scala
Thorn
An extensible, distributed scripting language
X10
A concurrent object-oriented programming language
Polyglot
An extensible Java compiler framework
J& and Jx
Languages for extensible, composable software frameworks

Recent publications

Loading publications...

Click below for the publications page.

Teaching

I teach the following classes at USI.

Programming Fundamentals 1
Fall 2018, 6 ECTS
Fall 2017, 6 ECTS
Fall 2016, 6 ECTS
Fall 2015, 6 ECTS
Compiler Construction
Spring 2019, 6 ECTS
Spring 2018, 6 ECTS
Spring 2017, 6 ECTS
Languages and Compilers
Spring 2019, 6 ECTS
Spring 2018, 6 ECTS
Spring 2017, 6 ECTS
Spring 2016, 6 ECTS
Spring 2015, 6 ECTS
Massively Parallel Programming
Spring 2016, 3 ECTS
Fall 2014, 3 ECTS
Domain-specific Languages (with Robert Soulé)
Fall 2014, 6 ECTS
Software Atélier 5: Compilers
Fall 2013, 6 ECTS (Moodle)
Fall 2012, 6 ECTS (Moodle)
Bugs (with Matthias Hauswirth)
Fall 2013, 4 ECTS (Moodle)
Programming Languages
Spring 2013, 6 ECTS (Moodle)
Fall 2011, 6 ECTS
Programming Languages Seminar
Spring 2013, 3 ECTS
Software Atélier 4: Software Engineering for Web Applications
Spring 2012, 6 ECTS
Spring 2011, 9 ECTS

Software

Committees

I am serving on or have served on the following programme committees.

Scala 2019
London, UK – program chair
CC 2019
Washington, DC
ManLang 2018
Linz, Austria
ECOOP 2018
Amsterdam, The Netherlands
OOPSLA 2016
Amsterdam, The Netherlands – workshop committee
ESOP 2016
Eindhoven, The Netherlands
ECOOP 2015
Prague, Czech Republic – workshop chair
Scala Symposium 2015
Portland, Oregon
PLDI 2015
Portland, Oregon – ERC
Modularity 2015
Denver, Colorado
OOPSLA 2014
Portland, Oregon
GPCE 2014
Västerås, Sweden
SLE 2014
Västerås, Sweden
PPPJ 2014
Cracow, Poland
ECOOP 2014
Uppsala, Sweden – workshop chair
ASWEC 2014
Sydney, Australia
PPPJ 2013
Stuttgart, Germany
Scala Workshop 2013
Montpellier, France
ESOP 2013
Rome, Italy
OOPSLA 2012
Tucson, Arizona – demo committee
GPCE 2012
Dresden, Germany
TOOLS EUROPE 2012
Prague, Czech Republic
PLDI 2012
Beijing, China
Scala Workshop 2012
London, UK
LDTA 2012
Tallin, Estonia
OOPSLA 2011
Portland, Oregon
Scala Workshop 2011
Palo Alto, California
WIR 2011
Lancaster, UK
TOOLS EUROPE 2011
Zürich, Switzerland
FOOL 2010
Reno, Nevada
TOOLS EUROPE 2010
Málaga, Spain
STOP 2009
Genova, Italy – co-organizer
ECOOP 2009
Genova, Italy
ECOOP 2008
Paphos, Cyprus