Separate and independent loading is possible for all extensions that use a fairly simple (and standard) Tcl_AppInit function: it only calls a function that initialises the extension and this function has only the Tcl interpreter as argument. If this is the case, we do not need a special Tcl_AppInit function for each such extension, we can call the initialisation function directly from Prolog. This also means that we can load each such extension separately and independently because there will be no name clash of Tcl_AppInit functions. This approach is of course possible only for ECLiPSe architectures that support dynamic loading.