More reasonable transformation variable names #294
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The recent changes that added a problem mapping interface really opened up our opportunities for backend variable naming options, because now we do not expect the users to ever have to know the names that we are creating. In order for sane debugging, it's good to create variable names that look nice and close enough, but the user doesn't interact directly with said symbols, so we are free to choose unicode characters. However, since Julia doesn't allow punctuation characters, we do have to make some concessions.
Subsystem Referencing
Looking at http://xahlee.info/comp/unicode_math_operators.html, the ₊ looked the closest to a period, since we aren't allowed to use punctuation. Also it kind of makes sense because it's a form of unioning two symbols, so I think that works.
Order Lowering
For lowering, I chose https://www.fileformat.info/info/unicode/char/02cd/index.htm since ˍ looks fairly close to _ but is weird enough that we have a vanishingly low probability of collisions.