Ada does something similar to that. Within a certain scope, using a variable to declare the size of the array and its not the same thing as using a "new" and thus doesn't need to be "deleted" explicitly.

I believe that something like that might be useful, but would confuse the issue since the "new" operation is enough to create unknowns at runtime.