I don’t think the memory safety guarantees of Rust could be expressed in the syntax of a language like C or Go.
I don’t think the memory safety guarantees of Rust could be expressed in the syntax of a language like C or Go.
Example: You read the expression "x.f", say, in the output of git-diff. Is x a struct object, or a pointer to a struct? Only by referring to enclosing context can you know for sure.
I don’t think that’s the case, somehow most ML derived languages ended up with stronger type system and cleaner syntax.
I assume you’re talking about OCaml et al? I’m intruiged by it, but I’m coming from a Haskell/C++ background.
Rust is somewhat unique in terms of system language this because it’s the first one that’s not “simple” like C but still used for systems tools, more than Go is as far as I’m aware.
Which probably has to do with its performance characteristics being close to the machine, which Go cannot do (ie based on LLVM, no GC, etc)