Re:Dave Herman’s contributions to Rust
by nicoburns on Monday May 03, 2021 @07:38AM
(#27023818)
Let is definitely confusing given that JS has let and const (with let being mutable)
[ Parent
| on HN ]
But that is cross-language, which is not ideal but not an internal problem if you work in one code base. (O)Caml also has `let` and is quite a bit older than JS.
Re:Dave Herman’s contributions to Rust
by jodrellblank on Monday May 03, 2021 @04:25PM
(#27030201)
C# uses “var” to mean “infer the type”, nothing to do with mutability or not.
“Let” feels like some in-joke, coming from a math via lisp heritage of “let k be any number...” to distinguish it in English from the surrounding writing. I have to guess that in early lisp (= k 5) would be an error as k isn’t defined and (k 5) errors because k isn’t a function and (let (k 5)) comes out of need for a binding function and why not “let”.
In c-like languages “k=5” is an established binding that both programmers and compilers can deal with. What does “let k=5;” add to Rust over “k=5;” ?