try to compile - optimisation usually.
try to compile - optimisation usually. If RSUnsupported, it will still be able to evaluate it
SError or SSuccNoValue...or others
strait forward evaluation and return result of expression.
strait forward evaluation and return result of expression. If there's no expected result , use interactive() instead
interactive evaluation - more complex interaction, when this script is part of a sequence and there's no result expected
the language needs sometimes passed around to factories etc
minimal script interface
TODO use JSR 223 or whatever the thing is and ditch custom code...