[MLton] mlton talk

Matthew Fluet fluet@cs.cornell.edu
Thu, 18 Nov 2004 14:14:39 -0500 (EST)

On Dec. 8, I'm giving an informal talk on MLton to the Harvard PL
discussion group (which includes the C-- guys).  The tentative title
(chosen by Norman) is: "Secrets of the MLton Optimization Masters".

There isn't a specific agenda, but I'm expecting it to serve a few
different roles:
 * This past week, the group looked at the POPL02 paper "Composing
   Dataflow Analyses and Transformations" by Sorin Lerner, David Grove and
   Craig Chambers out of Univ. of Washington.  Two weeks after my talk,
   we'll be looking at their upcoming POPL05 paper "Automated Soundness
   Proofs for Dataflow Analyses and Transformations via Local Rules".  The
   C-- project has a joint grant with UW to integrate some of their work
   into the C-- compiler.  So, there's some interest in thinking about how
   well this research fits into a production level compiler.  Also, there
   is some interest in thinking about what optimizations don't fit
   squarely into the C/C++/Java compiler toolkit, and whether they fit the
 * It's a chance to show off some of the down and dirty details.  For
   example, I mentioned that the SSA IL was a functional data structure,
   without in place update; this fits well with the UW framework above.
   On the other hand, the C-- compiler IL is imperative, and doesn't fit
   as well.  Our experience is that rebuilding the program at each
   optimization isn't all that expensive.  I think talking about the
   property list technique will be fun too.
 * It's a chance to advertize, get feedback, dialog, etc.

So, if anyone has particular aspects or points they think are important,
let me know.

I'm also planning on using it as a forcing function for working on the
wiki.  My goal is to deliver the entire talk from the wiki and view-cvs.
To that end, I'm planning on getting more than enough information up on
the wiki, so that the discussion can go where it takes us.  I envision
getting all the information from doc/hacker-guide, particularly the
Compiler Overview section (brought up to date, obviously).  I'd also like
to get descriptions of all the ILs, passes between ILs, and optimizations,
along with links to the appropriate cvs files.

I'll probably make a first pass at getting some structure up over the