Caterpillar

Daily Thought - 2024-04-10

< back to list

My vision for Caterpillar started with interactivity, but that's not where it stayed. I've developed many more ideas that I want to realize with this project. And since I've been using Rust as my primary language for over 10 years, it's my frame of reference. I can't help but think of Caterpillar as an evolution of Rust. A simpler and more powerful form of it.

I think it's possible to get Rust's core benefit, memory safety without runtime overhead, in a much simpler language. A functional language that does away with mutability, hence mutable references. In fact, performance consideration that the compiler can take care of under the hood aside, a reference is basically the same as a clone, so I think we can avoid them completely! (This is not my own idea. I got it from HVM.)

A Rust without references doesn't need a borrow checker, which is one of its most complicated parts. We can get all the benefits with just a linear type system, but none of the other complications. I can't know for sure that this will work out, but I'm optimistic. It's one of the many things that excite me about Caterpillar.

<< previous thoughtnext thought >>