> dynamic linking allows one to extend a program without inventing a 
> metalanguage.
> i believe there is a paper on how inferno's shell uses this to nice effect.

shared libraries != dynamic loading of modules.
both require a dynamic linking implementation
but they are not at all the same.

shared libraries are just a bad replacement
for static libraries.  they're used implicitly without
a program having to ask for anything, and there
is never an appropriate situation in which
to use them.

dynamic loading of modules can be a very
powerful method of extension.  i have been
meaning for a long time to convert snoopy to
make the protocol parsers dynamically loaded
instead of having one huge binary.  the inferno
shell is another good example.

the boundary is a bit blurred on inferno,
because the explicitly module loading there
is most commonly used to load what on other
systems would be libraries.  but the result,
at least as implemented, has a very different
feel from the shared library hell on unix
and windows.

russ

Reply via email to