diff --git a/Common-Criticisms.md b/Common-Criticisms.md index c7087be..5cad11e 100644 --- a/Common-Criticisms.md +++ b/Common-Criticisms.md @@ -1,4 +1,6 @@ -## Callsite annotations on var parameters would decrease mistakes +## Nim doesn't require call-site annotation for `var` parameters +This is referring to systems like C#'s: `void foo(ref int myInput){...}; foo(ref a);`. Note the ref on the `foo` call. If this was Nim, it'd be impossible to tell from the call-site that `foo` has the potential to modify `a`. + Possibly. The problem here is that of perception. In many languages, heap allocation through pointers is the only method of having objects, and passing them to a function gives the freedom to modify them. In Nim, things can be allocated on the stack, and those things need to be treated in the same way as things on the heap. ``` nimrod