Re:Dave Herman’s contributions to Rust
by mkl on Monday May 03, 2021 @06:29AM
(#27023402)
Yes. I think the problem may be with the other one. "val" (and "let") don't seem obviously constant to me.
[ Parent
| on HN ]
Re:Dave Herman’s contributions to Rust
by MrBuddyCasino on Tuesday May 04, 2021 @08:33AM
(#27036876)
var => variable
val => value => is immutable
Of course people are different, but this seems clear as day, assmuning very basic familiarity with functional programming?
Yes, whenever I get confused I recall that var is obviously variable so therefore the other one must be val.
Let is definitely confusing given that JS has let and const (with let being mutable)
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;” ?