|Two projects that came to fruition this week
||[Jul. 13th, 2012|06:32 pm]
This has been a busy week. First, two days ago my advisor and I submitted a paper to POPL about what we've been up to for the last six months. Here's the abstract of our paper, which is called "A Lattice-Theoretical Approach to Deterministic Parallelism with Shared State":
We present a new model for deterministic-by-construction parallel
programming that generalizes existing single-assignment models
to allow multiple assignments that are monotonically increasing
with respect to a user-specified partial order. Our model achieves
determinism by using a novel shared data structure with an API that
allows only monotonic writes and restricted reads. We give a proof
of determinism for our model and show that it is expressive enough
to subsume diverse existing deterministic parallel models, while
providing a sound theoretical foundation for exploring controlled
There's also a Redex model, and the tech report that accompanies the paper will be up within a week or so. Hooray!
Second, the Rust team released Rust 0.3 yesterday, including, among other things, the feature I worked on for the first part of the summer, suffix inference for integer literals. I'm proud of this, since having to write suffixes on int literals was one of the more annoying things about the language (we had it tagged with "papercut" in the issue tracker).
Next, I'll be working on traits for Rust, but first I head to Oregon for OPLSS!