My research interests include functional programming, functional programming environments, and various aspects of design, semantics, and implementation of programming languages in general, such as advanced type systems and their applications. I am also interested in modelling and simulation languages, and how such languages can be improved by using techniques developed in the declarative language community. I got my PhD from Linköpings universitet, where I worked at PELAB (the Programming Environments Laboratory), IDA, on debugging tools for lazy functional languages. The aim was to provide a declarative, source-level view of lazy computations, while making sure that the space and time costs of the techniques are acceptable. After getting my PhD, I was a postdoc within the OASIS project at INRIA Sophia-Antipolis, where I was involved in research concerning a programming environment for Java Cards based on formal semantics. I was also involved in the design of Modelica, an object-oriented, declarative language for non-causal modeling and simulation of continuous systems with discrete features. I then moved to the CS Department at Yale University, where I am worked with Paul Hudak and John Peterson in the Yale Haskell Group on declarative, domain-specific languages for applications such as robotics and vision. This was all within the unifying framework of Functional Reactive Programming (FRP). I have in particular been working on Yampa, our latest FRP implementation, and associated software such as the Yampa robot simulator. At present, I am a lecturer at the School of Computer Science, The University of Nottingham, where I work in the Functional Programming Lab.
My publications, including my PhD thesis, can be found here.
Slides for some recent and some not so recent talks I have given can be found here.
Information about volumes I have edited can be found here.
A very alpha release of the Freja compiler and debugger can be found here. (Currently binaries only for SPARC/Solaris. Sources available on request.)
Yampa and related software can be downloaded via the Yampa page (out of date, alas).
Ulf Norell has kindly put together an updated distribution that should work with recent GHC installations:
I am currently on the PC for the following upcoming events:
I served on the ICFP 2008 programme committee.
I served on the EOOLT 2008 programme committee.
I was the general chair of TFP 2007, the Eighth Symposium on on Trends in Functional Programming, which was hosted by Seton Hall University, New York, USA, 2-4 April, 2007.
I oragnised the first Foundations of Programming Away Day, FoPAD 2007.
I was the programme chair and organiser of TFP 2006, the Seventh Symposium on on Trends in Functional Programming, which was hosted by the School of CS&IT, the University of Nottingham, 19 - 21 April, 2006.
The Midlands Graduate School (MGS) in the Foundations of Computing Science was established in 1999 as a collaboration between researchers at the Universities of Birmingham, Leicester, and Nottingham.
I organised the Midlands Graduate School 2007, which was hosted here in Nottingam, 16 - 20 April, 2007.
I have lectured at the Midlands Graduate School four times so far, in 2005, 2006, 2007, 2009, and 2010:
I am currently teaching/coordinating the following modules:
Some modules I've taught/coordinated in the past:
I'm always happy to discuss ideas for individual projects (e.g. Final Year Undergraduate projects (G53IDS) or MSc projects). If you are looking for inspiration, I have compiled a list of suggestions that can be found here. Some are general, some are related to my research interests. Some a quite developed, some are very rough. Have a look. Maybe you'll find something you like, or maybe one of the suggestions will spark your imagination, spawning new and intriguing project ideas.
I was the industrial placement and careers liaison tutor. From the academic year 2008/09, Jaume Bacardit is taking over these roles. For reference, the links to my old placement and career pages can be found below for the time being.
Henrik Nilsson
School of Computer Science and IT
University of Nottingham
Jubilee Campus
Wollaton Road
Nottingham NG8 1BB
UK
+44 (0)115 846 6506
+44 (0)115 951 4254
nhn@cs.nott.ac.uk, henrik@acm.org
Room A08
School of Computer Science and IT
Jubilee Campus
Wollaton Road
Maps and directions for getting to the Jubilee Campus can be found here. CS&IT is in building 4 on the Jubilee Campus map.