adambard / learnxinyminutes-docs

Code documentation written as code! How novel and totally my idea!
https://learnxinyminutes.com/
Other
11.28k stars 3.28k forks source link

[language/nim] confusing comment about immutable at the very start #4981

Open ldemailly opened 2 weeks ago

ldemailly commented 2 weeks ago

https://learnxinyminutes.com/docs/nim/

var                     # Declare (and assign) variables,
  letter: char = 'n'    # with or without type annotations
let            # Use let to declare and bind variables *once*.
  legs = 400   # legs is immutable.
const            # Constants are computed at compile time. This provides
  debug = true   # performance and is useful in compile time expressions.

it's very unclear to me as a complete ignorant about the language (but not ignorant about many others) what let is vs const?

to me immutable literal is no different than a constant, what am I missing? (and/or how is it different from var ?)

maybe a better example would be

let
  legs = someFunction()
const
  clegs = 42

?

vendethiel commented 2 weeks ago

It might be a better example, yes. The important part is only this:

Constants are computed at compile time