Re: IDL Virtual Machine information [message #35654 is a reply to message #35653] |
Thu, 26 June 2003 10:25   |
JD Smith
Messages: 850 Registered: December 1999
|
Senior Member |
|
|
On Thu, 26 Jun 2003 08:28:47 -0700, Liam Gumley wrote:
> "Craig Markwardt" <craigmnet@cow.physics.wisc.edu> wrote in message
> news:onptl0g9wi.fsf@cow.physics.wisc.edu...
>>
>> "Liam Gumley" <Liam.Gumley@ssec.wisc.edu> writes:
>>> A particularly interesting feature of IDL 6.0 is the IDL Virtual
> Machine,
>>> which will allow developers to distribute compiled cross-platform
>>> applications that do not require IDL to run.
>>
>> Liam--
>>
>> You're right this is an interesting development. This may help get
>> more IDL applications distributed, which I'm sure is the goal of RSI.
>> But the virtual machine is significantly less interesting to me on
>> account of the fact that EXECUTE() is disabled:
>>
>> http://www.rsinc.com/idl/idlvm_faq.asp#runtime
>>
>> There are a couple of key places in my code where EXECUTE() is integral
>> to the operation of the algorithm, and those would not transfer over to
>> the IDL VM.
>
> I wonder why EXECUTE is not allowed?
>
Presumably for the same reason that uncompiled .pro routines can't be
run with the VM: it doesn't include the byte-code compiler. I'd
suspect that EXECUTE works by calling the very same compiler at
run-time. If it did include the compiler, the VM could easily be
turned into a full-fledged copy of IDL! The CALL_* routines still
work because they are only allowed to call routines which are compiled
(either natively in IDL, or in the .sav file itself).
That said, there are lots of uses of EXECUTE which are no longer
really necessary in IDL 6.0, e.g., building variable-length argument
lists of dimensions for various routines (I've noticed Craig using
that trick a lot). Since the VM will only run .sav files compiled
with IDLv6.0, there's no need to hang onto these old constructions for
compatibility's sake. Perhaps people could list their typical uses of
EXECUTE and we could consider ways to eliminate them?
JD
|
|
|