Re: IDL Virtual Machine information [message #35652 is a reply to message #35651] |
Thu, 26 June 2003 14:19   |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
JD Smith wrote:
> 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
I did a few days ago a feature request to remove all EXECUTEs from die idl
standard library.
You can do a grep at rsi/idl/lib. There are some important routines too
which you can't use if you plan to build a vm.
Reimar
--
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
http://www.fz-juelich.de/icg/icg-i/
============================================================ ======
a IDL library at ForschungsZentrum Juelich
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_lib_intro. html
|
|
|