Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
123 lines (105 sloc) 7.47 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Max Bolingbroke</title>
<link rel="stylesheet" href="styles/main.css" />
</head>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8766299-1");
pageTracker._trackPageview();
} catch(err) {}</script>
<body>
<img class="portrait" src="images/portrait.jpg" />
<h1>Max Bolingbroke</h1>
<p>PhD candidate at the <a href="http://www.cl.cam.ac.uk">Computer Lab</a>, University of Cambridge.</p>
<p>I have now <b>submitted my thesis</b> and have essentially left Cambridge. <a href="http://www.twitter.com/mbolingbroke">Follow me on Twitter</a> if you want to know what I'm up to nowadays.</p>
<h2>Contact</h2>
<table>
<!--
<tr>
<td><span class="contact-method">Office:</span></td>
<td>FC13</td>
</tr>
-->
<tr>
<td><span class="contact-method">Email:</span></td>
<td><code>(second-letter-of-the-alphabet)atterseapower@hotmail.com</code></td>
</tr>
<tr>
<td><span class="contact-method">Mobile:</span></td>
<td><code>(+44) 07891 915321</code></td>
</tr>
</table>
<h2>Papers</h2>
<p class="paper"><a href="papers/termination-combinators-hs11.pdf">Termination combinators forever</a></p>
<p class="paper-formalities">
with <a href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton Jones</a> and <a href="http://research.microsoft.com/en-us/people/dimitris/">Dimitrios Vytiniotis</a>, June 2011. Submitted to the <a href="http://www.haskell.org/haskell-symposium/2011/">Haskell Symposium '11</a>.
</p>
<p class="paper-description">
Describes a combinator library for building well-quasi-orders, which are useful for constructing termination tests for symbolic methods. We show how the classic Tree Theorem is related to data types presented as functor fixed points, and describe how the library can optimise the implementation of the constructed well-quasi-orders.
</p>
<p class="paper"><a href="papers/chsc2-icfp11.pdf">Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation</a></p>
<p class="paper-formalities">
with <a href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton Jones</a>, March 2011. Rejected by <a href="http://www.icfpconference.org/icfp2011/">ICFP '11</a>.
</p>
<p class="paper-description">
Describes a number of ways to improve our supercompilation algorithm to make it generate even faster programs, and do so more robustly.
</p>
<p class="paper"><a href="papers/sbe-hs10.pdf">Supercompilation by Evaluation</a> [<a href="papers/sbe-talk-hs10-static.pdf">Slides</a>]</p>
<p class="paper-formalities">
with <a href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton Jones</a>, July 2010. Presented at the <a href="http://www.haskell.org/haskell-symposium/2010/">Haskell Symposium '10</a>.
</p>
<p class="paper-description">
Reformulates the supercompilation algorithm to explicitly be in terms of an evaluator, and extends call-by-need supercompilation to recursive let bindings.
</p>
<p class="paper"><a href="http://www.cl.cam.ac.uk/~dao29/publ/ypnos-damp10.pdf">Ypnos: Declarative, Parallel Structured Grid Programming</a> [<a href="http://www.cl.cam.ac.uk/~dao29/publ/ypnos1.html">Errata</a>]</p>
<p class="paper-formalities">
with <a href="http://www.cl.cam.ac.uk/~dao29/">Dominic Orchard</a> and <a href="http://www.cl.cam.ac.uk/~am21/">Alan Mycroft</a>, May 2009. Presented at the workshop on <a href="http://damp10.cs.nmsu.edu/">Declarative Aspects of Multicore Programming '10</a>.
</p>
<p class="paper-description">
A declarative domain-specific language for expressing <a href="http://view.eecs.berkeley.edu/wiki/Structured_Grids">structured grid</a> computations in a format
that the compiler can <b>reliably</b> generate efficient code from.
</p>
<p class="paper"><a href="papers/tacc-hs09.pdf">Types are Calling Conventions</a> [<a href="http://haskell.org/haskellwiki/MaxBolingbroke/Talk:TypesAreCallingConventions">Discuss</a>] [<a href="papers/tacc-talk-hs09-static.pdf">Slides</a>]</p>
<p class="paper-formalities">
with <a href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton Jones</a>, May 2009. Presented at the <a href="http://www.haskell.org/haskell-symposium/2009/">Haskell Symposium '09</a>.
</p>
<p class="paper-description">
Describes a nice little intermediate language for compiling a lazy functional programming language, and some optimisations we can express with it.
</p>
<p class="paper"><a href="papers/sql-like-list-comprehensions.pdf">Adding SQL-Style List Comprehensions to the Glasgow Haskell Compiler</a></p>
<p class="paper-formalities">
supervised by <a href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton Jones</a>, 2007-2008. Undergraduate dissertation for the <a href="http://www.cl.cam.ac.uk/teaching/projects/">Computer Science Tripos Part II</a>.
</p>
<p class="paper-description">
Description of my implementation of an extension of list comprehensions with SQL-like features such as grouping and sorting in GHC, which are also described in the <a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions">GHC user's guide</a>
and the <a href="http://research.microsoft.com/en-us/um/people/simonpj/papers/list-comp/">paper I based my implementation on</a>.
</p>
<h2>Talks</h2>
<p class="talk"><a href="talks/optimising-functional-programming-languages.pdf">Optimising Functional Programming Languages</a> [<a href="talks/optimising-functional-programming-languages.zip">Keynote Source File</a>]</p>
<p class="talk-description">
An overview of deforestation techniques for functional programming languages. Part of the <a href="http://www.cl.cam.ac.uk/teaching/0910/RSL/">Current Research Topics</a> lecture series 2010.
</p>
<h2>Research Interests</h2>
<ul>
<li><span class="interest">Extending the capabilities of functional programming languages</span>. I have contributed various things to the <a href="http://www.haskell.org/ghc">Glasgow Haskell Compiler</a> (GHC), including <a href="http://research.microsoft.com/en-us/um/people/simonpj/papers/list-comp/">SQL-like list
comprehensions</a> and compiler plugins support (as part of the <a href="http://code.google.com/soc/">Google Summer of Code</a>).</li>
<li><span class="interest">Optimization and supercompilation of functional programs</span>. Again, I've done most of my work in this area in the context of GHC. Nothing publishable yet, but I have some things on the go.</li>
<li><span class="interest">Hybrid strict/non-strict evaluation orders in functional programming languages</span>. My paper (with Simon Peyton Jones) on types as calling conventions is the first step to providing the ability for
users of Haskell to write programs that incorporate strict values in a natural and comprehensible way.</li>
</ul>
<h2>Elsewhere</h2>
<ul>
<li><a href="files/max-bolingbroke-cv.pdf">Curriculum Vitae</a></li>
<li><a href="http://blog.omega-prime.co.uk">Sporadically Updated Blog</a></li>
<li><a href="http://www.twitter.com/mbolingbroke">Twitter</a></li>
<li><a href="http://www.github.com/batterseapower">GitHub Projects</a></li>
</ul>
</body>
</html>