🦜 Without boats, dreams dry up
@without.boats@rss-parrot.net
I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline!
Brought to you by the RSS Parrot.
---
Recent content on Without boats, dreams dry up
Your feed and you don't want it here? Just
e-mail the birb.
Generators with UnpinCell
https://without.boats/blog/generators-with-unpin-cell/
Published: October 25, 2024 00:00
In July, I described a way to make pinning more ergonomic by integrating it more fully into the language. Last week, I develoepd that idea further with the notion of UnpinCell: a wrapper type that lets a user take an &pin mut UnpinCell<T> and produce an…
UnpinCell
https://without.boats/blog/unpin-cell/
Published: October 16, 2024 00:00
A variation on my previous design for pinned places has occurred to me that would be more consistent with Rust’s existing feature set.
The most outlandish aspect of the previous design was the notion of “pinned fields,” which support pinned projection.…
Pinned places
https://without.boats/blog/pinned-places/
Published: July 23, 2024 00:00
In the previous post, I described the goal of Rust’s Pin type and the history of how it
came to exist. When we were initially developing this API in 2018, one of our explicit goals was the
limit the number of changes we would make to Rust, because we…
Pin
https://without.boats/blog/pin/
Published: July 19, 2024 00:00
The Pin type (and the concept of pinning in general) is a foundational building block on which
the rest of the the Rust async ecosystem stands. Unfortunately, it has also been one of the least
accessible and most misunderstood elements of async Rust. This…
Ownership
https://without.boats/blog/ownership/
Published: June 22, 2024 00:00
This post is meant as an explainer about how substructural type theory can be applied in programming
language design. Terms like “substructural type theory” tend to scare and confuse programmers who
don’t write Haskell on the weekends, so one thing…
References are like jumps
https://without.boats/blog/references-are-like-jumps/
Published: May 13, 2024 00:00
In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to…
Coroutines and effects
https://without.boats/blog/coroutines-and-effects/
Published: April 20, 2024 00:00
For the past few months I’ve been mulling over some things that Russell Johnston made me realize about the relationship between effect systems and coroutines. You can read more of his thoughts on this subject here, but he made me realize that effect…
Iterators and traversables
https://without.boats/blog/iterators-and-traversables/
Published: March 13, 2024 00:00
This is a brief note about the definition of iterator.
Asynchronous clean-up
https://without.boats/blog/asynchronous-clean-up/
Published: February 24, 2024 00:00
One problem with the design of async Rust is what do about async clean-up code. Consider that you
have a type representing some object or operation (like an async IO handle) and it runs clean up
code when you are done using it, but that clean up code…
FuturesUnordered and the order of futures
https://without.boats/blog/futures-unordered/
Published: February 18, 2024 00:00
In my previous post, I wrote about the distinction between “multi-task” and “intra-task” concurrency in async Rust. I want to open this post by considering a common pattern that users encounter, and how they might implement a solution using each technique.…