add text explaining module loading to the manual
@@ -100,9 +100,17 @@ is:
The module name `<modname>` is a name like `foo`, `foo.bar`, or `foo.bar.baz`.
The Titan compiler translates a module name into a file name by converting
-all dots to path separators, and then appending `.titan`, so the above three
-modules will correspond to `foo.titan`, `foo/bar.titan`, and `foo/bar/baz.titan`.
-All paths are relative the the path where you are running `titanc`.
+all dots to path separators, and then appending `.so`, for binary modules, or
+`.titan`, for source modules, so the above three
+modules will correspond to `foo.{so|titan}`, `foo/bar.{so|titan}`, and `foo/bar/baz.{so|titan}`.
+The Titan compiler will recompile the module if its source is newer than its binary.
+
+Binary modules are looked up in the *runtime search path*, a semicolon-separated list
+of paths that defaults to `.;/usr/local/lib/titan/0.5`, but can be overriden with a
+`TITAN_PATH_0_5` or `TITAN_PATH` environment variable. Source modules are looked in
+the *source tree*, which defaults to the current working directory, but can be overriden
+with a command-line option to the Titan compiler. Generated binaries are always saved
+in the same path of the source.
The `<localname>` can be any valid identifier, and will be the prefix for accessing
module variables and functions.
