Blog Archive 2013 On the connection between memory management and data-race freedom Jun 11 2013 Data Parallelism in Rust Jun 11 2013 Reducing DST Annotation Jun 06 2013 More on fns Jun 03 2013 Removing procs May 30 2013 Integrating binary data and PJs May 29 2013 Procedures, continued May 14 2013 Mutable fn alternatives May 13 2013 Recurring closures and dynamically sized types May 13 2013 Dynamically sized types, revisited Apr 30 2013 Parallelizable JavaScript Subset Apr 30 2013 The Case of the Recurring Closure Apr 30 2013 Nested lifetimes Apr 04 2013 A tour of the Parallel JS implementation (Part 2) Apr 04 2013 Associated items continued Apr 03 2013 Associated items Apr 02 2013 Guaranteeing parallel execution Mar 21 2013 A tour of the Parallel JS implementation (Part 1) Mar 20 2013 Parallel JS lands Mar 20 2013 Splitting the PJs API Feb 26 2013 Interfacing with C functions in Rust Feb 22 2013 Destructors and finalizers in Rust Jan 17 2013 Revised for loop protocol Jan 16 2013 Lifetime notation redux Jan 15 2013 The case FOR deterministic results Jan 03 2013 Deterministic or not? Jan 02 2013 2012 Lifetime notation Dec 30 2012 Improving our parallel intrinsic Dec 06 2012 Self-hosted Parallel JS Dec 05 2012 Imagine never hearing the phrase ‘aliasable, mutable’ again Nov 18 2012 Restrict pointers Oct 24 2012 Purity in Parallel JavaScript Oct 24 2012 Function and object types Oct 23 2012 Extending the definition of purity in Rust Oct 12 2012 Rivertrail Oct 10 2012 Termination of trait matching Oct 05 2012 A postscript on traits and impls Oct 04 2012 Refining traits and impls Oct 04 2012 Moves based on type Oct 01 2012 Type system for borrowing permissions Sep 26 2012 Rvalue lifetimes Sep 15 2012 Datasort refinements Aug 24 2012 Type inference in Spidermonkey Jul 30 2012 Generalizing inherited mutability Jul 24 2012 Yet another tutorial on borrowed pointers Jul 19 2012 About that ‘tutorial’… Jul 17 2012 Borrowed pointer tutorial Jul 17 2012 Concurrent maps Jul 13 2012 Fn types Jul 12 2012 Borrowed Pointer Tutorial Jul 10 2012 HotPar Jun 11 2012 Unifying patterns in alts and lets Jun 10 2012 Mutability May 31 2012 Mutability idea retracted May 30 2012 Simple effect system May 29 2012 Moving mutability into the type May 28 2012 Vectors, slices, and functions, oh my! May 14 2012 Iface types May 08 2012 Fn types May 07 2012 Borrowing errors May 05 2012 Borrowing May 01 2012 In favor of types of unknown size Apr 27 2012 Permission regions for race-free parallelism Apr 25 2012 References Apr 25 2012 Vectors, strings, and slices Apr 23 2012 On types and type schemes Apr 23 2012 Syntax matters…? Apr 15 2012 DOA: Don’t overabstract Apr 11 2012 Declared vs duckish typing Apr 10 2012 Rust’s object system Apr 09 2012 For loops Apr 06 2012 Servo design Mar 28 2012 Avoiding region explosion in Rust Mar 28 2012 Progress on inlining Mar 03 2012 Serialization without type information via impls Feb 25 2012 Regions tradeoffs Feb 22 2012 Versioning considered OK Feb 18 2012 CCI and versioning Feb 17 2012 Returning refs Feb 16 2012 Regions-lite…ish Feb 15 2012 Using futures in the task API Feb 14 2012 Task API Feb 13 2012 Auto-serialization in Rust Feb 09 2012 Breaking out is hard to do Feb 02 2012 Cross-crate inlining Feb 02 2012 Update Feb 01 2012 Proposed JS parallelism vs actors Jan 11 2012 Parallel Javascript Jan 09 2012 2011 Composing blocks Dec 29 2011 Block sugar in expressions Dec 29 2011 Tone and criticism Dec 21 2011 Dynamic race detection Dec 20 2011 Implementing unique closures Dec 16 2011 Const vs Mutable Dec 13 2011 Partially ordered unique closures Dec 13 2011 Challengines implementing unique closures Dec 12 2011 Pure blocks Dec 09 2011 Why not modes? Dec 08 2011 Sendable functions Dec 08 2011 Rust usability problems Dec 07 2011 Coroutines for Rust Dec 06 2011 Statement-level parallelism Dec 05 2011 Rust without implicit copies Dec 03 2011 Why case classes are better than variant types Dec 02 2011