Hi, I’m Jim!
I’m someone with many interests, I used to imagine myself to be a physicist but now I am a software engineer 💻.
I dabble a lot in Python 🐍, TypeScript and Rust 🦀. I do some C++ and Go.
Polymorphism, concurrency, design patterns, static/dynamic dispatches, lifetimes, type theory and many more are the terms that excite me. 😍
Beyond these, I read a lot on the sciences, politics and philosophy.
This blog focuses on the technicals of software engineering.
Why name the blog asyncmove?
In April 2023, I asked a question on Stackoverflow on the syntax of Rust’s
move || async move { //...
}
Today, I know that the first move
is to move the free variables into the closure i.e. || async move {...}
and the second move
is to move the free variables into the unnamed type that implements the Future<Output = ...>
trait. The closure and the async block has something in common, that they are both unnameable types. I find the Rust programming language really elegant, well-thought out and fun to code in, hence I name this blog to a syntax async move
that is unique to Rust.
Comments