Using Kilim's isolation types for multicore efficiency
Using Kilim's isolation types for multicore efficiency
Using Kilim's isolation types for multicore efficiency
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Consider:<br />
How to read this intuitively<br />
(COND) Γ ⊢ e1 : bool ∆ ⊢ e2 : t ∆ ⊢ e3 : t<br />
Γ, ∆ ⊢ if e1 then e2 else e3 : t<br />
UNIVERSITYOF<br />
CAMBRIDGE<br />
• Use of ∆ says both arms of if-then-else get the same variables.<br />
• The use of Γ, ∆ in the result of the inference rule says: “share<br />
out the variables in scope: passing some (Γ) to e1 and some (∆)<br />
to e2 (and e3).”<br />
It helps to read inference rules from the bottom (goal-oriented).<br />
However, we want to refine this all-or-nothing partition – we’d like to<br />
allow (e.g.) x.f to be tested in e1 be<strong>for</strong>e x is freed in e2 (and not<br />
vice-versa).<br />
<strong>Using</strong> Kilim’s <strong>isolation</strong> <strong>types</strong> <strong>for</strong> <strong>multicore</strong> <strong>efficiency</strong> 28 FoVeOOS’2011