> Rust is too constrained without [unsafe blocks] to get any useful work done.

Just saw this in the wild again.

@veloren has about 330,000 lines of Rust code today. It's a networked, multi-threaded, 3D, portable game and game engine played by thousands of people. Very much not a contrived example. Name any sort of code and you'll find it in there: GUI, packet parsing, physics, DSP, decision trees, database calls, ECS, procgen, audio. It's all in there.

It has 12 instances of `unsafe`:

(1/2)

@jsbarretto @veloren I took a peek at the rust documentation and the only restriction it has over racket is borrowing, and it's not a huge deal, it's just more ergonomic than guessing the memory layout if you care about it
rust and racket are almost identical in paradigm and that's quite interesting, but also means both can do anything better than raw C???
@efi I've not really used racket (I assume the PL?) enough to have a good handle on the differences. I'm fully of the view that the interesting bits of Rust are akin to convergent evolution, and folks interested in memory safety have a habit of reinventing them on a regular basis throughout the ages
@jsbarretto racket is a lisp based on scheme, and it has a very similar way of managing memory, except it uses GC instead of immediate collection... but the way putting things into memory is managed is identical, and the solid bits of lisp make racket very easy to deal with, extend, import, etc
it's also built on C and can interop -and compile- to the same machine code as an equivalent C or rust program
@efi Interesting! Maybe I'll finally get time to check it out at some point