24.10.2013 Views

Using Kilim's isolation types for multicore efficiency

Using Kilim's isolation types for multicore efficiency

Using Kilim's isolation types for multicore efficiency

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!