Mr Christopher Brown
Research Student
|
|
- Room -
School of Computing
University of Kent, CT2 7NF
|
Publications
My publications are available from the
Computer Science department publications repository.
PhD Project Summary
Transformation and analysis techniques for Haskell. In particular, refactoring Haskell using HaRe.
Research Interests
I am a member of the following research groups:
I am a PhD student in the
Computer Science Department at
Kent University, UK. I am a member of the Functional Programming research group and also the Theoretical Computer Science research group. I am supervised by
Professor Simon Thompson working in the field of program transformation, where I use
Haskell, the purely functional, strongly typed, lazy functional programming language.
Research Interests
Functional Programming
I find functional programming and mathematics fascinating. Most of my research involves Haskell in some way and I would like to see functional languages (such as Haskell and Erlang) used more frequently in industry, where "fashionable" (but not always suitable) languages such as Java are common place. Haskell is perfect for parsing and language techniques - and most projects require parsing and language transformation in some way or another.
Program Transformation
I am currently working on
HaRe the Haskell Refactorer. I have wrote several new refactorings for HaRe, some of the refactorings are program slicing techniques.
Program Slicing
If you take into account a pure functional paradigm without a mutable state then program slicing suddenly becomes stunningly beautiful. I have wrote a program slicing algorithm for Haskell, which works as a transformation for HaRe.
Classical Logic and Type Theory - Every mathematican and functional programmer should have a sound understanding of type theory. Almost everyone who has ever written a program in Haskell would have come across the type system inference by GHC (or another Haskell compiler). Usually, type errors are incomprehensible to new Haskell programmers, and I would like to research into methods to make type errors much more useful.
Functional programming and classical logic go together like peas in a pod. Haskell uses equations and so does classical logic, it would be nice to see a tool to test whether a haskell program satisfies a condition by using induction.
I keep a blog of my work at
My Blog.
You can download my mini thesis
here .
I am also intrested in language translation with reference to formally specifying the semantics for different types of languages.
Background
My final year project as part of my undergraduate studies was to create a Syntax Directed Editor in Java and Haskell. The front-end was in Java and the back-end was in Haskell. The interesting part of the project was using GCJNI, an interface used to link Haskell with Java. I was supervised by Dr. Dave Harrison.
When I am not in front of a computer -- I am either teaching, socialising or playing the classical guitar where I achieved both grade 7 and grade 8 with distinction. I am currently working towards an ATCL recital diploma; I also play the piano.
Like mathematics, I also find music fascinating. Music is a binary closure: there is only good music or bad music. I don't believe in categorising music, or people who will only listen to one particular genre.
I particularly love the music of J.S.Bach, Villa-Lobos, Britten, John Dowland, William Walton, Shostakovich and the famous Fernando Sor.
Some recordings of myself playing Walton's first two bagatelles for guitar:
Bagatelle 1
Bagatelle 2
Pictures
Canterbury
My HiFi
A BBQ and a Prom visit
Kent Campus
Talks
Functional Programming Group talk on Refactoring Functional Programs and Program Slicing.
Here.
TCS talk on
"Towards Type Based Refactorings".
Functional Programming Group talk on
"Template Haskell: The road to compile time meta-programming".
IFL 2007 talk
"Refactorings to Split and Merge Programs"