idlwave: Routine Definitions

 
 A.1 Routine Definitions
 =======================
 
 Routines which can be used in an IDL program can be defined in several
 places:
 
   1. _Builtin routines_ are defined inside IDL itself.  The source code
      of such routines is not available, but instead are learned about
      through the IDL documentation.
   2. Routines which are _part of the current program_, are defined in a
      file explicitly compiled by the user.  This file may or may not be
      located on the IDL search path.
   3. _Library routines_ are defined in files located on IDL’s search
      path.  When a library routine is called for the first time, IDL
      will find the source file and compile it dynamically.  A special
      sub-category of library routines are the _system routines_
      distributed with IDL, and usually available in the ‘lib’
      subdirectory of the IDL distribution.
   4. External routines written in other languages (like Fortran or C)
      can be called with ‘CALL_EXTERNAL’, linked into IDL via
      ‘LINKIMAGE’, or included as dynamically loaded modules (DLMs).
      Currently IDLWAVE cannot provide routine info and completion for
      such external routines, except by querying the Shell for calling
      information (DLMs only).