Tim Showalter <tjs+(_at_)andrew(_dot_)cmu(_dot_)edu> writes:
(My basic problem is that I never want runtime errors. A script should be
verified at time of submission, and if it's unusable, it should be
refused, and never run.
I agree with this. My preferred implementation, where ACAP is used
for the UA <-> FA communication, makes this easy. Others have suggested
less tightly coupled implementations (including SMTP, and disconnected-mode
ACAP), which make this a little harder. (But still possible)
Require is taken out of the most recent draft to
stop runtime errors like
if (...) { require "fubar"; } else { ... }
But if it were metainformation, and so valid for the whole script, I'd be
in favor of it.)
I guess I was assuming that 'require' statements had to be up at the
top and that your example above would be invalid/illegal. I agree, I
wouldn't
want to see a script die in the middle because of a failed 'require'.
It seems to me that it should be possible for the FA to perform a simple
static analysis of the script when it's submitted. No 'require' needed.
If the script uses any extensions which the FA doesn't support, it gets
rejected.
Stan