Friday, June 07, 2024

About Name Collisions

"namepaces are one honking great idea"

In the early grades, for me 1st or 2nd, we learn the word "homonym" and what it means. "To mean" and "being mean" mean two different things. A "meany" is not someone good at being super meaningful.

This point (node) in the curriculum is a great branch point to come back to when learning about "name collisions". We know all about those in computer science and solve the problem with what we call "name spaces" or "namespaces" (without a space).

Every cool kid on the engineering block wants to code a Vector and not use some lesser term, like Schmector. Some upperclassmen (sexist) might wanna lord it over the underclassmen by reserving the coolest terms for their Vectors and Tensors only. For snobs like that, we have workarounds, e.g. namespaces.

Even a rank amateur tween is free to use her "Vector" and "Tensor" to name her two teddy bears. We don't always insist on "Pooh" or other prefabbed commercial label, authorized for stuffed toy animals. Stifling rigidity is the alternative to freely allowing diverse namespaces to coexist. Namespaces provide membranes between vector spaces.

What's an example of a name collision? Take any homonym as a potential example. "He leads with a head of lead" is only rescued by "led" for "lead" in the past tense. In my YouTube channel I take up "CCP" as another perfect example, since we're all about cubic closest packing to begin with. Two other CCPs help us tune in Southeast Asian politics. Up for a treasure hunt?  Hint: where I went to high school has one of them.

And don't forget, the cooler way to write USSR, back in the day, was CCCP. More Soyuz. More Sputnik.

CCP = IVM = FCC is not precisely the case, because the equal sign ain't apropos. Let's go with ⋈.

CCP ⋈ IVM ⋈ FCC

Namespace ⋈ Corpus