Hello
Yes, it is possible on Unix-style systems with dynamic shared library loading, although it can be rather hard work, and it does require some knowledge of the inner workings of the runtime system (particularly memory management). This wiki page details the nuts and bolts of the process :-
http://code.google.com/p/objecticon/wiki/DynamicLoadCThere are also two examples of dynamically loaded libraries in the source code. One is an interface to mysql, and the other is a library for unix IPC calls (queues, semaphores and shared memory). The RTL code for them can be found in the lib/native directory, and the corresponding icon source files (which load the .so libraries at run time) can be found in the lib/main (grep for "package ipc" and "package mysql").
Obviously there is a lot of RTL example code to look at in the runtime system - see the directory base/oix
There is a manual for the original RTL here :-
http://www.cs.arizona.edu/icon/ftp/doc/tr92_18.pdfbut please bear in mind that I modified it quite a bit for Object Icon, so this doc is just a rough guide. In almost all respects Object Icon's version is simpler.
Undoubtedly the trickiest thing to get right in writing RTL code is memory management. The garbage collector moves things around in memory which can be rather disconcerting! It is very important to know when this can happen and to declare the correct variables as "tended". Failure to do so can make your program prone to mysterious runtime crashes.
Hope this helps.
R