It does not matter whether you use let of var to declared variable inside of a 
procedure, it will all work the same. Procedure with `let nprinted = if 
nprinted == -1 : s.len else: min(nprinted, s.len)` is identical to `var 
nprinted = if nprinted == -1 : s.len else: min(nprinted, s.len)`, at least as 
procedure parameters are concerned. The only difference is that in latter case 
you are allowed to modify **newly introduced variable `nprinted`**

Reply via email to