The way Uniform is structured, logic is not particularly order independent. Any statements or blocks in a Uniform program should be able to be rearranged with no affect to the actual code. This is mostly true, but there are a few instances where it is not. Identifier declarations currently must come before their usage. The selector tag must come before a sibling enabled or visible tag. There may also be some others I'm not aware of.
The main issue is to defer certain processing until the entire file is parsed. When an identifier is used, we can't check that it is declared until we parse the entire file. Same for the selector tag issue.
The way Uniform is structured, logic is not particularly order independent. Any statements or blocks in a Uniform program should be able to be rearranged with no affect to the actual code. This is mostly true, but there are a few instances where it is not. Identifier declarations currently must come before their usage. The
selector
tag must come before a siblingenabled
orvisible
tag. There may also be some others I'm not aware of.The main issue is to defer certain processing until the entire file is parsed. When an identifier is used, we can't check that it is declared until we parse the entire file. Same for the
selector
tag issue.