ICFP presentation

Stephen Weeks sweeks@intertrust.com
Tue, 28 Aug 2001 11:06:32 -0700

Here are my comments.

* drop the "want to"
* second bullet -- add "traditional" before "optimizations"
* I would like to see the word "interprocedural" appear in the third bullet,
  to make the connection with the fourth.  Something like,
  "In functional languages, most control-flow information is interprocedural."

An Example
* Remember to explain the formal parameter z, which was confusing to both Jims.

* The optimize and closure convert arrows are squished.

Contification Analysis
* The f's and g's are outside their boxes

Contification Analysis
What should be an "-->" in the definition still shows up as a "?".

The A_call and A_cont Analyses
Color A_call and A_cont the same as their labels (blue and purple).
Cite Reppy next to Acont.

The A_dom Analysis
Add a space after the "," in "(l,f)".
The word "location" almost seems to mean the same thing as "Return" from the
contification analysis slide.  Could you use the same word (and possibly even
change Root to ?).

The A_dom Analysis
Instead of "the set of ... is the set of ...", say "l dominates f if ...".  It
should be shorter.
"A_dom(f) equals ..." --> "Define A_dom(f) to be ..."

The A_dom Analysis
Theorem: A_dom is a safe analysis --> Theorem: A_dom is safe
Theorem: A_dom is a maximal analysis --> Theorem: A_dom is maximal

Compile-time Performance
contification is run --> contification runs
contification time is less --> contification takes less
a contified program ... 
  --> contification eliminates at least half of the functions
contification quiesces after two rounds

Run-time Performance
The text at the bottom is somewhat opaque.  How about

	- contification may disable size-based inlining
	- MLton's optimizer evolved around A_call


For slides with the same name, I'd recommend suffixing a I, II, III, etc. so
they can be distinguished.  That or page numbers.

Prepared question slides
	related work
	comparison to inlining