I have been tackling some issues i have encountered. There are some solutions that i am happy with, and some others, not so much.
Overall, i am enjoying working with oxygen, and the fact that there is no help available, is kind of the salt to the challenge, making it even more enjoyable. Some times i need to go back and do it better because i am presented with a method that is better than what i was doing, because there is not help file, but thats ok.
Some of the things i wonder why where implemented the way they were in oxygen are... shared equates. For example, i am used to being able to use this:
$EXTRA = "SOMETHING"
%EXTRA = 12345
No collisions, everything is fine. However, with Oxygen, a string constant has exactly the same name than a numeric one, making it necessary to add some kind of disctintive. So, lets say there is a constant named
Extra, then no local or global variables, functions, classes, unions or Types can be created with that name.
So, in order to allow this, i had to add a prefix to each constant, numeric, string and wstring equates. This way there are no collisions. However, when trying to use one of this equates in RAW blocks, it will not be as intuitive, because, when an equate is defined as
%extra, in a RAW block it will be required to refer to it as
_20EXTRA. I have no problem adding a prefix for internal stuff that the end programmer does not need to touch, but for this i would rater like to do it some other way.
I have more thoughts but something has come up while redacting this, so i will continue in the morning.