Olaf Chitil
Lecturer
|
|
|
Publications
My publications are available from the Computer Science department publications repository.
I also keep a list of external talks, mostly with slides.
Research Interests
I belong to the following research groups:
All my research interests are connected to programming and programming languages. I am interested in semantics and theoretical foundations of programming languages, type theory, program transformation, compiler construction, message-passing-based concurrency, programming tools, and how to program effectively. My work gravitates around the aim of supporting the programmer in developing programs more effectively. My favourite programming languages are functional languages, especially Haskell. Recently I became more interested in Erlang.
Projects
- Tracing and debugging functional programs (Hat et al.)
- Assertions for lazy functional languages
- Better type errors for the Hindley-Milner type system
- Efficient simple pretty printing combinators
- HEAT: An IDE for teaching Haskell
- A concurrent functional language for programming robots
Grants
- Attending The Fifth ASIAN Symposium on Programming Languages and Systems (APLAS 2007); Royal Society Conference Grant 2007R3, November / December 2007.
- A Concurrent Functional Programming Language for Robots; Nuffield Science Bursary for Undergraduate Research, June - August 2007.
- A Theory of Tracing Pure Functional Programs; EPSRC EP/C516605/1, April 2005 - October 2007.
Professional Activities
Programme committees:- PC member of the 12th International Symposium on Practical Aspects of Declarative Languages, PADL '10; Madrid, Spain, 18-19 January 2010.
- PC member of the 20th International Symposium on Implementation and Application of Functional Languages, IFL 2008;University of Hertfordshire, United Kingdom, 10-12 September 2008.
- PC chair of the 19th International Symposium on Implementation and Application of Functional Languages, IFL 2007; Freiburg, Germany, 26-28 September 2007.
- PC member of the seventh Symposium on Trends in Functional Programming (TFP 2006); Nottingham, UK, 19 - 21 April, 2006.
- PC member of the Workshop on Curry and Functional Logic Programming (WCFLP 2005); Tallinn, Estonia, September 29, 2005.
- PC member of the 13th International Workshop on Functional and (Constraint) Logic Programming, WFLP'04; Aachen, Germany, June 1-2, 2004.
- PC member of the 2003 Haskell Workshop; Uppsala, Sweden, August 28, 2003.
- PC member of the 12th International Workshop on Functional and (Constraint) Logic Programming, WFLP'03; Valencia, Spain, June 12-13, 2003.
- PC member of the International Workshop on Implementation of Functional Languages, IFL 2002;Madrid, Spain, September 16-18, 2002.
- PC member of the International Workshop on Implementation of Functional Languages, IFL 2001; Stockholm, Sweden, September 24-26, 2001.
I am a member of the IFL advisory committee. For about 10 years I co-maintained the Haskell Home Page.
Research Students
Currently Thomas Davie is studying for a PhD with me, working on various improvements of tracing for functional programming languages.
Do you want to do a PhD? Are you interested in functional programming languages? Then I would be pleased to hear from you. I have a list of some exemplary research topics.
Software
- Hat
- is a source-level tracer for Haskell. Often, programmers find it difficult to understand how the different parts of a program cause the computation to perform the observed input/output actions. Hat enables a user to see and interactively explore the usually invisible computation. Thus Hat assists with debugging, understanding complex programs (which we may not have written ourselves) and is useful for teaching.
- MonadicPromptLazyAssertions
- is a Haskell library for writing assertions that are both prompt and lazy. Properties are formulated in a monadic, parser-combinator-like language. See the APLAS 2007 paper for further information.
- StrictCheck
- is a tool that tests whether a given Haskell function is least-strict. If it is not, StrictCheck suggests how the function could be less strict. This work is in a very early state. See my IFL 2006 paper and slides for further information. I'd be happy to hear your thoughts about it. StrictCheck requires the Chasing Bottoms library and the Glasgow Haskell compiler.
- COOSy
- is a library plus viewing tool for lightweight debugging of functional logic programs in Curry by observations. The programmer annotates expressions of interest in their program. With the viewing tool the programmer then views the values the annotated expressions have in a computation.
- TypeIlluminator
- is a prototype tool implementing the ideas presented in the paper Compositional Explanation of Types and Algorithmic Debugging of Type Errors. It constructs the type explanation graph for programs written in a simple Haskell-like language and enables free navigation through the graph in various ways and algorithmic debugging.
- FPretty
-
is a Haskell library for pretty printing. The library has the same interface as that of Wadler. It is very efficient, in contrast to Wadler's library and the one by John Hughes and Simon Peyton Jones the pretty printer only takes time linear in the size of the printed document; it does not do any backtracking.
This version is based on the latest papers by Doaitse Swierstra and me but provides additional combinators following PPrint by Daan Leijen.
- FPretty.hs
- Dequeue.hs (imported by FPretty)
Administration
Together with Bob Eager I am responsible for undergraduate admissions. I am the departmental European exchange coordinator and generally look after all our short-term students. I am the departmental library representative.
Teaching
- 2009/10:
-
- CO884 - Logic and Logic Programming
- CO520 - Further Object Oriented Programming
- CO326 - Functional Programming
And therefore education at the University mostly worked by the age-old method of putting a lot of young people in the vicinity of a lot of books and hoping that something would pass from one to the other, while the actual young people put themselves in the vicinity of inns and taverns for exactly the same reason.
Terry Pratchett, Interesting Times
`Students?' barked the Archchancellor.
`Yes, Master. You know? They're the thinner ones with the pale faces? Because we're a university? They come with the whole thing, like rats -'.
Terry Pratchett, Moving Pictures
`What sort of people would we be if we didn't go into the Library?'
`Students.'
Terry Pratchett, The Last Continent
Short CV
I started studying computer science at the RWTH Aachen in 1989. I spent the academic year 1992/93 as an Erasmus exchange student at the University of Kent at Canterbury. I graduated in Aachen in June 1995, writing a dissertation about semantics of functional programs. From August 1995 to May 2000 I was employed as research & teaching assistant at the Lehrstuhl für Informatik II at the RWTH Aachen. There I made my PhD with a thesis about type-based deforestation of functional programs. Afterwards I came to the University of York as a research associate. Together with Colin Runciman and Malcolm Wallace I developed the Haskell tracer Hat. In 2002 I became a teaching fellow in York. In 2004 I became lecturer at the University of Kent.As the Lecturer [...] put it: `He [the Archchancellor] called me in and asked me what I did, exactly. Have you ever heard of such a thing? What sort of question is that? This is a university!'Besides computer science I enjoy reading, walking, bicycle-riding, visiting historical sites, travelling in general, taking photos (see some of mine here), going to the cinema and the theatre, and learning languages.
Terry Pratchett, The Last Continent