School of Computing

Stefan Kahrs

Lecturer / Admissions Officer (Research)

Photo of SM Kahrs, if available
  • Room SW105
    School of Computing
    University of Kent,
    CT2 7NF


My publications are available from the University of Kent's Academic Repository.

Some selected publications:

Research Interests

I belong to the following research groups:

My main research interests are various flavours of term rewriting, e.g. infinitary rewriting, higher-order rewriting, as well as the first-order traditional stuff. These cover the whole range from implementations, proving properties about them, to semantic models. In recent years I have been specialising on infinitary rewriting.

I am also interested in functional, logic, and functional-logic programming. The whole spectrum from questions about design, usage, expressiveness, type systems, methodology, specifications, semantics, down to things like implementation techniques, efficiency considerations etc. In other words, this is more or less the whole spectrum of what some people call Euro-Theory. One (unpublished) example of that is this proof that all primitive recursive functions can be enumerated without semantic duplicates. Sadly, this turned out to be a (not very well-) known result, proved by Ersov in the early 1970s.

Talks for WIR2013 and WIR2014

talk at University of Leicester


Currently I am teaching Functional Programming, Algorithms, Object-Oriented Programming, Logic, and Regular Languages - listed in the order how close they are to my research.

I actually prefer FP over OOP as a programming paradigm, partly because the programs tend to be much shorter, but mostly because OOP programs are nigh impossible to reason about.


One of my admin jobs is PGR admissions.

Other CS

Occasionally, just occasionally I actually do write the odd little program. For example, some time of summer 1999 I spent writing an applet for the translation of regular expressions. Note the input alphabet are all alphanumeric characters, iteration is * (and +), choice is |, epsilon is %, the empty language is @, and parentheses are for grouping. After entering the input regexp (in the text field - do not forget to finish it with RETURN), the graph is transformed stepwise by continually pressing the transform button.

Being a screwed-up scientist, I obviously tried to give this piece of work the scientific treatment. One could argue though that collecting and analysing transformation rules for regular expressions from the literature is closer to trainspotting than doing science...

And now for something completely different

Outside CS I am a bit of a movie buff. Contributing lots of data to the IMDb I was one of its shareholders before it was sold to amazon. I also won the first Kevin Bacon challenge. My main area of expertise is the European exploitation cinema of the 1970s.

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 17/11/2017