Hacker News new | ask | show | jobs
by luckydude 1947 days ago
You seem bound and determined to not hear that tcl auto expands arrays as needed. There are no bounds. So there is no error to catch.

We just thought it would be clever to return undef if you were out of bounds, which tcl code would see as "" which is what you'd get in tcl. But Little code could actually tell you are past the end.

In my mind, which many have argued isn't the best, it's a reasonable design.

You keep trying to push backwards to a design point where arrays are fixed in size at declaration and that is not how tcl (or Little) works.

1 comments

> There are no bounds. > clever to return undef if you were out of bounds

You can see how this is getting confusing.

> So there is no error to catch.

Thing is, you're already catching the error because "Little code could actually tell you are past the end" and "return undef if you were out of bounds" - you're just smooshing the error under the carpet into an `undef` return rather than bombing out with an OOB error (which is what I think GP was actually after.)

(If Little returns `undef` for OOB and `""` for in-bounds-not-set, you can detect the OOB access error in your own code but that hasn't been made clear, I don't think?)

Little returns undef for OOB and for in bounds not set. Tcl returns "" for both.

The thing that GP was asking for, an OOB error, is not a thing in a language where there are no bounds.