super superstricting modules
BlitzMax Forums/BlitzMax Programming/super superstricting modules
| ||
Is there any chance all the brl/pub modules will go SuperStrict (to mark)?? |
| ||
What would be the point? They both compile to the same code. The difference is purely cosmetic. (Unlike the difference between non-strict and a strict) |
| ||
No, the difference is (or can be) improved performance. |
| ||
Yep, and its alot easier to tell if a method/function returns a value in superstrict (instead of delving through the whole thing, looking for return). I realize some modules have docs that say what, if anything, a function/method returns, but for code parsers (like bcsgen) its hard to get that kind of information. EDIT: In most cases it will improve memory management, if things are declared in local scope in superstrict they should be GC'd right when that scope is left. |
| ||
Strict and SuperStrict compile to the same code. Most modules are either Strict or compliant to it. |
| ||
I still think superstrict should be forced. |
| ||
The 3 steps to make all modules superstrict compatible: 1.Buy BRL. 2.Hire Mark. 3.Tell him to rewrite everything under superstrict. |
| ||
1.Buy BRL. Sounds like a deal! when will you start?2.Hire Mark. 3.Tell him to rewrite everything under superstrict. :) |
| ||
Converting from Strict to SuperStrict is usually done with a few changes. The only difference between Strict is SuperStrict is that in Strict you can declare Ints without anything: Strict: Local a=0 Local b#=0.01 Local c:Double=0.0000000001:Double Local d$="Hello" SuperStrict: Local a%=0 Local b#=0.01 Local c:Double=0.0000000001:Double Local d$="Hello" |
| ||
Nope, you have to give every variable a type identifier in SuperStrict, not just integers. EDIT: sneaky. |
| ||
You have to do that in Strict also, since if you don't give a variable type, it will be Int. |