Tony Field is a Reader in Performance Engineering in the Department of Computing at Imperial College London. He is also the Director of Undergraduate Studies for Computing and a champion of the student experience.
His main research area is performance engineering, with an emphasis on software performance analysis and optimisation using predictive performance models. His current work is centred around the idea of executing programs in virtual time, which allows time dilation to be applied to components of an executing program, allowing the effect of bottleneck optimisations to be explored without modifying the code or supporting platform.
He is also interested in high-level languages, formalisms and tools that can be used to exploit the power of high-performance computer systems whilst reducing the software engineering burden. Related to this, he maintains a keen interest in the Haskell programming language and its application. He teaches Haskell as a first programming language.
He is currently developing Odysseus, an AI system written in Haskell for solving cryptic crossword puzzles, e.g. (Spectator 2407, 11a, solution time 0.27s):
The clue is: After hint turned up, end of match had leftist outwitted (7) I think the solution is "EUCHRED" Let me explain... I think the answer is supposed to mean "outwitted" I think "after" indicates a charade (juxtaposition) of two sub-clues: 1: I think "turned up" indicates a reversal The text "hint" resolves to "cue" Reversing this gives "euc" 2: I think "had" indicates a charade (juxtaposition) of two sub-clues: 1: I think "end of" indicates 'take last letter(s)' "match" is verbatim text The result is then "h" 2: The text "leftist" resolves to "red" So, the two components to be juxtaposed are "h" and "red" The result is "hred" The two components to be juxtaposed are "euc" and "hred" The result is "euchred"