One potentially useful construct is a class that can be used without creating objects:
Such a class may contain methods and static variables, and these will be accessible, invoking the class by name:
class act
method greet(string n) as string
return "helo "+n
end method
method depart(string n) as string
return "bye "+n
end method
end class
class util
method compile(string src) as sys
sys a=compile src
er=error
if er then
print er+src
return 0
else
return a
end if
end method
end class
a=util.compile quote """ print act.greet "World" """
if a then call a
freememory a
PS:
The problem with the binary file (even when oxygen.dll is available) is that it does not carry any static symbolic data. So the dynamic compiler has no information about the classes.
Whereas under JIT compiling conditions, with gxo2/exo2, the static symbol data from primary compilation is retained, and made accessible to the dynamic compiler.