> Apologies if I've completely missed the point here. Oh well, it happens.
> Are you saying that without case sensitivity, the language could deduce that > sum2 in that case was a function reference? That seems optimistic: not only > can you have a class, a constant, and a function all with the same name, but > you can't actually know which exists until the line is executed, because all > three can be defined at any time. Close. If we make case sensitivity consistent (either all insensitive or all sensitive) *and* merge symbol tables then we can get actual features out of it. As it stands just changing the case sensitivity does not buy as any features for our BC break. The rest of my message only makes sense once you understand I was proposing unified case sensitivity for all symbols *and* merging them into one table. >> array_map(sum2, $input1, $input2); >> >>Currently that requires `sum2` to be a constant. > > I'm not clear what this has to do with case sensitivity; the problem here is > that we don't have a type of "function reference" (nor "class reference") so > simulate such references with strings and runtime assertions. This confusion stems from the aforementioned items. > If we want function and class references, they should have their own, > unambiguous, syntax. My point was rather that if we fix our inconsistency issues and merge the tables no such syntax is required; all existing syntax works. There are engine changes that have to accompany those as well, obviously. In summary I think changing constant case sensitivity is too small of a step to gain us anything, but would be *very* happy to take it further because it will give us actual features for our trouble. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php