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.
2.Hire Mark.
3.Tell him to rewrite everything under superstrict.
Sounds like a deal! when will you start?

:)

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.