Calling IDL as a Subroutine
IDL can be called as a subroutine from other programs. This capability is referred to as Callable IDL to distinguish it from the more common case of calling your code from IDL (as with CALL_EXTERNAL or as a system routine (LINKIMAGE, Dynamically Loadable Module)).
How Callable IDL is Implemented
IDL is built in a sharable form that allows other programs to call IDL as a subroutine. The specific details of how IDL is packaged depend on the platform:
In all cases, it is possible to link the sharable portion of IDL into your own programs. Note that Callable IDL is not a separate copy of IDL that implements a library version of IDL. It is in fact the same code, being used in a different context.