ModuleLoader is a system for managing and loading libraries(modules) of AppleScript.
In OS X 10.9 (Oct. 2013), built-in support of libraries was introduced to AppleScript, which called as "AppleScript Libraries". ModuleLoader is a yet another library system, which has been developed from 2006 before release of OS X 10.9, and has been maintained without interruption until now.
ModuleLoader have a similar function to "AppleScript Libraries" as follows.
Libraries are searched from following sub-folders under user's home directory and the root directory.
To build sophisticated software, the source code should be divided into some modules for easy maintenance. To gain efficiency of programming, sharing the modules between some products is effective. Such modularized source code to share between some products is called as a library or a module.
AppleScript Libraries or ModuleLoader enable to find and load libraries by specifying its names like other high functional scripting languages (e.g. Perl, Ruby, Python and so on), and to make up a software of multiple source files and libraries. Also ModuleLoader help to share source codes between applications.
In OS X 10.8 or before, AppleScript did not have a built-in library system. A library can be loaded by "load script" command which is primitive. Because the "load script" command requires a full path to a library file, management of libraries will be problematic. And sharing sub-libraries between libraries is difficult. ModuleLoader can solve these problems.
In OS X 10.9 or later, AppleScript Libraries will be first choice to work with libraries. "AppleScript Libraries" will be sufficient in usual tasks. But ModuleLoader can work with "AppleScript Libraries" and complement following missing functions of "AppleScript Libraries".
See "Working wiht AppleScrpt Libraries" for details.